busybox/libbb
Steffen Trumtrar 6561e07460 mount: support the sizelimit and offset option for loop devices
Starting with linux kernel v5.4 squashfs has a more strict parameter
checking implemented. Unlike util-linux mount, busybox never supported
the sizelimit option but simply forwards it to the kernel.
Since v5.4 mounting will fail with

    squashfs: Unknown parameter 'sizelimit'

Support the sizelimit parameter by setting it in the LOOP_SET_STATUS64
structure before handing it to the kernel.

While at it also add support for the offset option, which currently will
always be set to 0.

function                                             old     new   delta
cut_out_ull_opt                                        -     167    +167
singlemount                                         1230    1266     +36
set_loop                                             834     862     +28
losetup_main                                         479     483      +4
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/0 up/down: 235/0)             Total: 235 bytes

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-10-01 00:31:11 +02:00
..
appletlib.c nologin: make it possible to build it as single applet 2020-06-24 15:05:22 +02:00
ask_confirmation.c xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy 2018-04-07 15:23:10 +02:00
auto_string.c libbb: auto_string() for efficient handling of temporary malloced stirngs 2015-10-09 17:59:56 +02:00
bb_askpass.c libbb: switch bb_ask_noecho() to "mallocing" string return API 2018-04-07 15:50:30 +02:00
bb_bswap_64.c *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits 2010-10-18 11:40:26 +02:00
bb_cat.c fix errors found with make_single_applets.sh 2017-04-12 15:48:19 +02:00
bb_do_delay.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
bb_getgroups.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
bb_getsockname.c libbb: introduce and use bb_getsockname() 2018-02-11 14:55:46 +01:00
bb_pwd.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
bb_qsort.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
bb_strtod.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
bb_strtonum.c printf: fix printf "%u\n" +18446744073709551614 2018-10-30 23:24:18 +01:00
bbunit.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
capability.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
change_identity.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
chomp.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
common_bufsiz.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
compare_string_array.c compare_string_array: code shrink 2020-06-29 16:09:46 +02:00
concat_path_file.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
concat_subpath_file.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
Config.src build system: drop PLATFORM_LINUX 2020-08-13 17:12:56 +02:00
copy_file.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
copyfd.c dpkg-deb: work around bogus error message when working with XZ compressed packages 2019-10-11 14:11:44 +02:00
correct_password.c libbb: rename bb_ask -> bb_ask_noecho, bb_ask_confirmation -> bb_ask_y_confirmation 2018-04-07 15:08:12 +02:00
crc32.c libbb: commonalize a bit of little-endian CRC32 table generation code 2018-02-01 10:56:19 +01:00
default_error_retval.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
device_open.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
die_if_bad_username.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
dump.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
duration.c randomconfig fixes 2020-06-23 21:28:19 +02:00
endofname.c move endofname() to libbb 2013-02-26 00:36:53 +01:00
executable.c which: fix TODO with NOFORK+malloc_failure misbehaving 2018-01-12 13:21:33 +01:00
fclose_nonstdin.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
fflush_stdout_and_exit.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
fgets_str.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
find_mount_point.c libbbb: find_mount_point() too eager to stat mounted devices 2019-04-29 17:59:08 +02:00
find_pid_by_name.c pidof: support "pidof /path/to/binary" case 2019-06-15 18:35:39 +02:00
find_root_device.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
full_write.c dd: fix handling of short result of full_write(), closes 11711 2019-05-14 17:49:14 +02:00
get_console.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
get_cpu_count.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
get_last_path_component.c find: cater for libc w/o FNM_CASEFOLD 2011-05-23 00:40:54 +02:00
get_line_from_file.c libbb: in xmalloc_fgets(), use size_t for bb_get_chunk_from_file() 2018-09-02 18:48:09 +02:00
get_shell_name.c mark get_shell_name FAST_FUNC 2012-10-03 09:42:21 +02:00
get_volsize.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
getopt32.c hush: GETOPT_RESET() _after_ getopts too. 2017-08-29 14:32:17 +02:00
getopt_allopts.c getopt32: factor out code to treat all args as options 2017-08-04 16:33:23 +02:00
getpty.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
hash_md5_sha.c libbb: fold common64_hash() into its only user 2020-09-30 22:22:04 +02:00
hash_md5prime.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
herror_msg.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
human_readable.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
in_ether.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
inet_cksum.c inet_cksum: big-endian fix 2011-09-08 10:59:26 +02:00
inet_common.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
inode_hash.c du: don't count duplicate arguments. Closes 5288 2019-02-19 17:08:39 +01:00
isdirectory.c do not include <sys/stat.h> just before "libbb.h", it's there already 2017-10-05 14:41:36 +02:00
isqrt.c libbb: move isqrt from factor, use it in diff too 2017-04-11 07:34:56 +02:00
Kbuild.src build system: drop PLATFORM_LINUX 2020-08-13 17:12:56 +02:00
kernel_version.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
last_char_is.c libbb: shrink last_char_is(), no longer allow NULL string argument 2020-07-19 20:49:22 +02:00
lineedit_ptr_hack.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
lineedit.c suppress a few compile warnings 2020-06-24 09:31:30 +02:00
llist.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
logenv.c zcip: Add environment variable for overriding log functionality 2014-11-04 12:19:04 +01:00
login.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
loop.c mount: support the sizelimit and offset option for loop devices 2020-10-01 00:31:11 +02:00
make_directory.c fix compile failure in previous commit 2018-02-06 18:01:39 +01:00
makedev.c nicer looking ifdef in libbb/makedev.c 2011-01-24 23:53:12 +01:00
match_fstype.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
messages.c which: fix TODO with NOFORK+malloc_failure misbehaving 2018-01-12 13:21:33 +01:00
missing_syscalls.c Remove stime() function calls 2019-11-19 13:08:25 +01:00
mode_string.c do not include <sys/stat.h> just before "libbb.h", it's there already 2017-10-05 14:41:36 +02:00
mtab.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
nuke_str.c whitespace fixes 2018-07-17 15:04:17 +02:00
obscure.c unit-tests: implement the unit-testing framework 2014-06-22 16:30:41 +02:00
parse_config.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
parse_mode.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
percent_decode.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
perror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg_and_die.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
perror_nomsg.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
pidfile.c do not duplicate CONFIG_PID_FILE_PATH and ".pid" strings 2019-03-17 19:48:39 +01:00
platform.c Bionic lacks ttyname_r; provide a workaround 2015-04-25 21:32:48 +02:00
print_flags.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
print_numbered_lines.c cat,nl: fix handling of open errors 2018-11-29 11:44:10 +01:00
printable_string.c unzip: use printable_string() for printing filenames 2018-09-30 16:56:56 +02:00
printable.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
process_escape_sequence.c libbb: do not misinterpret 0x10-0x19 chars in "\xNNN" too 2018-11-29 13:16:15 +01:00
procps.c procps: code shrink 2020-06-29 16:07:20 +02:00
progress.c wget: print the final newline only for non-tty output 2018-11-23 19:14:52 +01:00
ptr_to_globals.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
pw_encrypt_des.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
pw_encrypt_md5.c fix assorted unused code and wrong format specs found by cppchekc (bug 6716) 2013-11-29 16:43:33 +01:00
pw_encrypt_sha.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
pw_encrypt.c libbb: include <crypt.h> only if necessary 2019-07-16 15:09:06 +02:00
read_key.c read_key(): placate "warning: shifting a negative signed value is undefined" 2019-10-25 17:40:57 +02:00
read_printf.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
read.c libbb: Converted safe_read to safe_write format 2019-10-09 14:35:55 +02:00
README *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
recursive_action.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
remove_file.c remove_file: don't call rmdir if remove_file return failure 2018-09-09 20:16:04 +02:00
replace.c replace: count_strstr - Handle an edge case where sub is empty 2019-10-09 14:39:41 +02:00
rtc.c libbb: introduce and use is_prefixed_with() 2015-03-12 17:48:34 +01:00
run_shell.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
safe_gethostname.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
safe_poll.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
safe_strncpy.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
safe_write.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
securetty.c libbb: fix "error: redefinition of 'is_tty_secure'" 2017-04-13 17:55:05 +02:00
selinux_common.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
setup_environment.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
signals.c inetd: suppress aliasing warning 2018-12-08 15:35:24 +01:00
simplify_path.c whitespace cleanup 2010-10-29 11:46:52 +02:00
single_argv.c basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument 2011-04-11 03:58:30 +02:00
skip_whitespace.c libbb: Use return value from is_prefixed_with() 2018-02-27 13:35:40 +01:00
speed_table.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
str_tolower.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
strrstr.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
sysconf.c libbb: add sanity check in bb_arg_max() 2014-12-24 01:46:29 +01:00
time.c Remove syscall wrappers around clock_gettime, closes 12091 2019-10-24 16:26:55 +02:00
trim.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
u_signal_names.c libbb/u_signal_names.c: don't check errno after bb_strtou 2018-10-31 11:28:37 +01:00
ubi.c ubi tools: ubiupdatevol supports "-" input and actually respects -s SIZE 2017-08-07 16:00:25 +02:00
udp_io.c udp_io, traceroute: Standardise IPv6 PKTINFO handling to be portable 2017-10-30 16:06:50 +01:00
unicode.c unicode: code shrink in character width determination 2019-07-23 11:26:54 +02:00
update_passwd.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
utmp.c *: Switch to POSIX utmpx API 2015-04-02 23:03:46 +02:00
uuencode.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
verror_msg.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
vfork_daemon_rexec.c start-stop-daemon: do try to close fds > 2 2019-04-29 14:24:07 +02:00
warn_ignoring_args.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
wfopen_input.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
wfopen.c libbb: new function bb_die_memory_exhausted 2018-04-01 19:59:37 +02:00
write.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xatonum_template.c whitespace fixes. no code changes 2013-01-15 13:58:01 +01:00
xatonum.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xconnect.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xfunc_die.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xfuncs_printf.c xstrndup: Use strndup instead of implementing it. 2020-06-09 01:55:59 +02:00
xfuncs.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xgetcwd.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xgethostbyname.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
xreadlink.c libbb: deal with "declaration of 'link' shadows a global declaration" warning 2019-06-25 18:51:00 +02:00
xrealloc_vector.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
xregcomp.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00

Please see the LICENSE file for copyright information (GPLv2)

libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
a single file named utility.c.  When I split utility.c to create libbb, some of
the very oldest stuff ended up without their original copyright and licensing
information (which is now lost in the mists of time).  If you see something
that you wrote that is mis-attributed, do let me know so we can fix that up.

	Erik Andersen
	<andersen@codepoet.org>