linux-testing: Fix arg list too long in modinst
With the default kernel and thus with the build I have tested in
74ec94bfa2, we get an error during
modules_install:
make[2]: execvp: /nix/store/.../bin/bash: Argument list too long
I haven't noticed this build until I actually tried booting using this
kernel because make didn't fail here.
The reason this happens within Nix and probably didn't yet surface in
other distros is that programs only have a limited amount of memory
available for storing the environment and the arguments.
Environment variables however are quite common on Nix and thus we
stumble on problems like this way earlier - in this case Linux 4.8 - but
I have noticed this in 4.7-next as well already.
The fix is far from perfect and suffers performance overhead because we
now run grep for every *.mod file instead of passing all *.mod files
into one single invocation of grep.
But comparing the performance overhead (around 1s on my machine) with
the overall build time of the kernel I think the overhead really is
neglicible.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
@@ -74,6 +74,11 @@ rec {
|
||||
patch = ./mips-ext3-n32.patch;
|
||||
};
|
||||
|
||||
modinst_arg_list_too_long =
|
||||
{ name = "modinst-arglist-too-long";
|
||||
patch = ./modinst-arg-list-too-long.patch;
|
||||
};
|
||||
|
||||
ubuntu_fan_4_4 =
|
||||
{ name = "ubuntu-fan";
|
||||
patch = ./ubuntu-fan-4.4.patch;
|
||||
|
||||
Reference in New Issue
Block a user