summaryrefslogtreecommitdiffstats
path: root/sys-utils
Commit message (Collapse)AuthorAgeFilesLines
* unshare: add note about persisten PID namespacesKarel Zak2017-03-271-1/+2
| | | | Signed-off-by: Karel Zak <kzak@redhat.com>
* hwclock-rtc.c: try the 'new' rtc class firstJ William Piggott2017-03-232-5/+5
| | | | | | | * sys-utils/hwclock-rtc.c: try to open the 'new' rtc class driver first. * sys-utils/hwclock.8.in: document this. Signed-off-by: J William Piggott <elseifthen@gmx.com>
* Merge remote-tracking branch 'jwpi/hwclock-date7'Karel Zak2017-03-232-110/+16Star
|\ | | | | | | | | | | | | | | * jwpi/hwclock-date7: lib: add parse-date documentation hwclock: use parse_date function build-sys: add parse-date.y lib: add parse-date.y
| * lib: add parse-date documentationJ William Piggott2017-03-041-11/+11
| | | | | | | | | | | | | | | | * Documentation/parse-date.txt - new file * sys-utils/hwclock.8.in Fix the --date option description. Signed-off-by: J William Piggott <elseifthen@gmx.com>
| * hwclock: use parse_date functionJ William Piggott2017-03-041-99/+5Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hwclock.c: replace interpret_date_string() with parse_date(). Eliminates shell injection vulnerability from popen() date(1). Removes system dependency on date(1). Reduction in hwclock execution time. Significant cleanup of hwclock.c code. * Bug fix for "hwclock --predict --date 'bad_date'" printing: hwclock: No usable set-to time. Cannot set clock. The message now matches date(1) for an invalid --date argument. Signed-off-by: J William Piggott <elseifthen@gmx.com>
* | lscpu: add --jsonKarel Zak2017-03-142-3/+21
| | | | | | | | Signed-off-by: Karel Zak <kzak@redhat.com>
* | lscpu: use libsmartcols to print summary tooKarel Zak2017-03-141-52/+91
|/ | | | | Addresses: https://github.com/karelzak/util-linux/issues/419 Signed-off-by: Karel Zak <kzak@redhat.com>
* unshare: add note about sysfs and procfsKarel Zak2017-02-271-0/+5
| | | | | Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1390057 Signed-off-by: Karel Zak <kzak@redhat.com>
* blkzone: add count option to bash-completionKarel Zak2017-02-241-1/+1
| | | | | | and fix typo in man page Signed-off-by: Karel Zak <kzak@redhat.com>
* blkzone: use optutils.h to check mutually exclusive optionsKarel Zak2017-02-241-6/+13
| | | | Signed-off-by: Karel Zak <kzak@redhat.com>
* blkzone: Add --count optionDamien Le Moal2017-02-242-39/+76
| | | | | | | | | | | The length option is used to specify the number of zones to operate on. To be more consistent with other tools, have this option use a number of sectors and introduce the --count option to allow users to specify a number of zones. The --count and --length options cannot be used together on the command line. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
* blkzone: Improve zone information printDamien Le Moal2017-02-242-32/+29Star
| | | | | | | | | | | Add "0x" to the zone start, length and write pointer print to make it always clear that the values are Hexadecimal. Also update the zone condition string and associated comments to match more closely the wording in the standard document. The man page is also updated to match the new wording. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
* blkzone: Report all zones if length is not specifiedDamien Le Moal2017-02-241-54/+72
| | | | | | | | | Report all zones of the block device when length is not specified on the command line. To do this, introduce an inner loop in blkzone_report to repeatedly issue report zone ioctl to the device. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
* blkzone: Reset all zones when length is not specifiedDamien Le Moal2017-02-241-3/+5
| | | | | | | If length is 0, operate on all zones starting from offset. This also fix the maximum length calculation from offset. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
* blkreport, blkreset: remove in favour of blkzoneKarel Zak2017-02-235-583/+0Star
| | | | Signed-off-by: Karel Zak <kzak@redhat.com>
* blkzone: add new command (merge blkreport and blkreset)Karel Zak2017-02-233-0/+460
| | | | | | | This new command is based on the original implementation of blkreport and blkreset command. Signed-off-by: Karel Zak <kzak@redhat.com>
* misc: add static keyword to where needed [smatch scan]Sami Kerola2017-02-208-26/+26
| | | | | | | text-utils/rev.c:68:9: warning: symbol 'buf' was not declared. Should it be static? Signed-off-by: Sami Kerola <kerolasa@iki.fi>
* misc: do not use plain 0 as NULL [smatch scan]Sami Kerola2017-02-2021-283/+283
| | | | | | | | | | 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>
* man: improve blkreport(8) and blkreset(8) manual pagesSami Kerola2017-02-132-6/+32
| | | | | | | | 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>
* blkreport, blkreset: small code clean upsSami Kerola2017-02-132-35/+25Star
| | | | | | | | | | 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>
* docs: Fix word repetitionsYuri Chornoivan2017-02-139-10/+10
|
* blkreset: remove "LBA" from usage()Karel Zak2017-02-101-2/+3
| | | | | | | * "LBA" sounds confusing Reported-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Karel Zak <kzak@redhat.com>
* blkreport: remove "LBA" from usage() and unnecessary alignment checkKarel Zak2017-02-101-6/+1Star
| | | | | | | | | * "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>
* blkreport: slice up option descriptions, fix typo, fix docstringBenno Schulenberg2017-02-102-18/+14Star
| | | | | | | | | | 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>
* blkzonecmd, blkreport: Add new commands for ZAC/ZBC drivesShaun Tancheff2017-02-095-0/+575
| | | | | | | | | | | | | | | 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>
* hwclock: remove if-if-conditionKarel Zak2017-02-091-3/+2Star
|
* Merge branch 'hwclock-jwp-reviewed' of ↵Karel Zak2017-02-096-771/+605Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ...
| * hwclock: remove --compare optionSami Kerola2017-02-053-79/+3Star
| | | | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: remove trailing dot from messages that include system error messageSami Kerola2017-02-052-2/+2
| | | | | | | | Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: make --date=argument less prone to injectionSami Kerola2017-02-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: fix rtc atexit registrationSami Kerola2017-02-051-1/+1
| | | | | | | | | | | | | | | | Commit 27f9db17bd57b85947445c03e2cd9dda36ca377f missed a minus sign from comparison. Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: clarify cmos inb and outb preprocessor directivesSami Kerola2017-02-051-17/+15Star
| | | | | | | | | | | | | | 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>
| * hwclock: try RTCGET and RTCSET only when normal rtc failsSami Kerola2017-02-051-21/+23
| | | | | | | | | | | | | | | | | | 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>
| * hwclock: stream line synchronize_to_clock_tick_rtc()Sami Kerola2017-02-051-22/+19Star
| | | | | | | | | | | | | | 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>
| * hwclock: improve coding styleSami Kerola2017-02-052-18/+19
| | | | | | | | | | | | | | | | | | 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>
| * hwclock: remove division by zero [asan]Sami Kerola2017-02-051-3/+4
| | | | | | | | Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: add debugging to open_rtc()Sami Kerola2017-02-051-18/+16Star
| | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: remove magic constants from interpret_date_string()Sami Kerola2017-02-051-38/+27Star
| | | | | | | | | | | | | | | | 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>
| * hwclock: use symbolic magic values passed in between functionsSami Kerola2017-02-054-13/+19
| | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: initialize struct adjtime membersSami Kerola2017-02-051-26/+5Star
| | | | | | | | | | | | | | | | 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>
| * hwclock: alloate date_resp parsing buffer in interpret_date_string()Sami Kerola2017-02-051-5/+12
| | | | | | | | | | | | | | This makes overflowing the variable in question impossible. Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: simplify save_adjtime() execution flowSami Kerola2017-02-051-48/+34Star
| | | | | | | | | | | | | | | | | | 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>
| * hwclock: remove dead code and other minor fixesSami Kerola2017-02-053-20/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: move error messages to determine_clock_access_method()Sami Kerola2017-02-052-17/+14Star
| | | | | | | | | | | | | | This makes main() a little bit shorter. Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: clarify set_cmos_epoch() codeSami Kerola2017-02-051-16/+12Star
| | | | | | | | | | | | | | | | 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>
| * hwclock: move command-line options to control structureSami Kerola2017-02-054-400/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * hwclock: remove unnecessary type castsSami Kerola2017-02-051-26/+26
| | | | | | | | | | | | | | | | 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>
| * hwclock: do not hardcode date command magic string twiceSami Kerola2017-02-051-2/+2
| | | | | | | | | | | | | | Variable 'magic' already contains string 'seconds-into-epoch'. Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: remove hwclock_exit() indirectionSami Kerola2017-02-052-13/+4Star
| | | | | | | | | | Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
| * hwclock: remove FLOOR macro in favour of floor(3)Sami Kerola2017-02-052-4/+2Star
| | | | | | | | | | Reviewed-by: J William Piggott <elseifthen@gmx.com> Signed-off-by: Sami Kerola <kerolasa@iki.fi>