Debian Patches

Status for busybox/1:1.30.1-6

Patch Description Author Forwarded Bugs Origin Last update
cherry-pick.1_30_0-35-g74d9f1ba3.udhcpc-when-decoding-dhcp-subnet-ensure-it-is-4-bytes-long.patch Udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes long
function old new delta
udhcp_run_script 795 801 +6

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
no debian 1_30_0-35-g74d9f1ba3 <https://git.busybox.net/busybox/commit/?id=1_30_0-35-g74d9f1ba3> 2019-01-07
cherry-pick.1_30_0-110-gbb3a9531b.ip-fix-ip-o-link.patch Ip: Fix ip -o link
Commit db169f253854db572c0c2b7e3d74ebbe6afdb97f breaks the "ip -o link"
command, no output is displayed.. Fix by only excluding the link info if
in oneline mode and if the address family is not AF_PACKET.

function old new delta
ipaddr_list_or_flush 1232 1202 -30

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
no debian 1_30_0-110-gbb3a9531b <https://git.busybox.net/busybox/commit/?id=1_30_0-110-gbb3a9531b> 2019-03-30
cherry-pick.1_31_0-92-gd3539be8f0.remove-stime-function-calls.patch Remove stime() function calls
Remove stime() function calls

stime() has been deprecated in glibc 2.31 and replaced with
clock_settime(). Let's replace the stime() function calls with
clock_settime() in preperation.

function old new delta
rdate_main 197 224 +27
clock_settime - 27 +27
date_main 926 941 +15
stime 37 - -37
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

diff --git a/coreutils/date.c b/coreutils/date.c
index f7e9a8d0e..b9b7fd2cb 100644
no debian 1_31_0-92-gd3539be8f0 <https://git.busybox.net/busybox/commit/?id=1_31_0-92-gd3539be8f0> 2019-11-19
cherry-pick.1_32_0-26-g1a5d6fcbb.hwclock-fix-settimeofday-for-glibc-v2.31.patch hwclock: Fix settimeofday for glibc v2.31+
hwclock: Fix settimeofday for glibc v2.31+

The glibc implementation changed for settimeofday, resulting in "invalid
argument" error when attempting to set both timezone and time with a single
call. Fix this by calling settimeofday twice

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c
index 357906cca..e85bca2b2 100644
no debian 1_32_0-26-g1a5d6fcbb <https://git.busybox.net/busybox/commit/?id=1_32_0-26-g1a5d6fcbb> 2020-08-10
u-mount-FreeBSD-support.patch [PATCH 18/19] (u)mount: FreeBSD support no 2017-08-17
swaponoff-FreeBSD-support.patch [PATCH 19/19] swaponoff: FreeBSD support Jeremie Koenig <jk@jk.fr.eu.org> no 2017-08-17
shell-ash-export-HOME.patch busybox sh sets but does not export PATH
This patch exports $PATH variable from busybox ash by default,
even if no "export PATH" statement has been processed. No
other shell (dash, bash, ...) does this:

$ env - /bin/bash -c /usr/bin/env
PWD=/tmp
SHLVL=1
_=/usr/bin/env

But after #329406, busybox ash started exporting this variable
by default. This change hasn't been sent upstream.

However, this turned out to be problematic, after many upstream
changes, busybox started segfaulting in interesting and difficult
to debug environments - like, when running as pid=1 in initramfs.
This is recorded in #679377.

The problem was that PATH was the only variable marked to be
exported by default, and this is done by this very patch. Other
exported variables were always malloc'ed, but this one was not.
But when ash executes applets marked as NOEXEC, it does not
really execute anything, it forks and runs the applet's main()
function, clearing and setting up the environment as it'd do
for any other command. There, it is assumed that all exported
variables were malloc'ed, and the function (tryexec() in ash.c)
writes to the place in exported variable where the equal sign
is. So, if ash inherited no PATH variable and the default is
used, the code will try to write \0 into a constant location,
and we'll get a segfault.

The whole patch is probably not needed (because other shells
don't export PATH by default), but at this stage (during wheezy
freeze) we can't just drop it, since it may lead to some random
breakage in some other random place (and that'll be another
very difficult to debug issue). So instead of dropping the
patch, we modify the PATH variable to be stored in non-const
location, ie, to be writable. It is safe, since the only
place which actually modifies this variable (after the first
half of this patch) is the awk main function, during setup,
it restores the overridden byte after touching it, and it
is a "terminal" applet, ie, it exits after doing its work.

For wheezy+1, we should drop this patch completely. For
now, we will live with this simple and ugly forkaround.

/mjt
Joey Hess <joeyh@debian.org> no debian 2006-05-07
version.patch build-sys: allow override of BB_BT (build tag) from command line Bastian Blank <waldi@debian.org> no 2008-03-28
init-console.patch skip non-existing devices in inittab
This patch causes init silently skip running processes from inittab if
the terminal name is specified but the corresponding device file does not
exist.
Bastian Blank <waldi@debian.org> no debian
stop-checking-ancient-kernel-version.patch stop checking ancient kernel version for NFS mount
The nfs mount code checks for ancient kernel 2.2.18 (!) to determine
which mount protocol to use (v3 or v4). Stop doing this, and always
use v4.

This is the only place in debian busybox which uses get_linux_version_code()
function which can't deal with less-than-3-component kernel version numbers
(#684611). (Other places are in modutils/ to determine whenever to use
pre-2.4 module loading way, which is disabled in debian build).

This is a band-aid patch, to minimize changes, more complete cleanup
is needed for all this code upstream.
Michael Tokarev <mjt@tls.msk.ru> no debian
revert-9c143ce52da11ec3d21a3491c3749841d3dc10f0.patch Revert 9c143ce52da11ec3d21a3491c3749841d3dc10f0 just to make sure the next patch can be applied Cyril Brulebois <kibi@debian.org> no 2019-03-29
temp-deb-installer-hack.patch Temporary hack re-enable invalid variable names
Upstream busybox commit b6838b520 ("ash: [VAR] Sanitise environment
variable names on entry") breaks assumptions used by debian-installer's
preseed system. This results in settings passed to the installer on the
kernel command-line getting stripped out if they contain invalid
characters in the variable name, such as '/', which is actually very
common in this use case.

This is not a long term fix for this problem: a different approach is
needed to parse the values from the kernel command-line, but we don't
want to be responsible for holding up the debian-installer alpha
release any longer than it has already.
Chris Boot <bootc@debian.org> not-needed
install-readlink-in-bin.patch no
ignore-ip-valid_lft.patch Don't choke on ip addr add [...] valid_lft [...] preferred_lft isc-dhcp-dclient 4.4.1 has started passing valid_lft, preferred_lft to
ip addr add but busybox ip doesn't support these options. Handle these
gracefully, making them no-ops for now.
Steve Langasek <steve.langasek@ubuntu.com> no debian 2019-03-12

All known versions for source package 'busybox'

Links