summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKonstantin Khorenko <khorenko@virtuozzo.com>2026-08-14 18:57:09 +0200
committerAndrew Morton <akpm@linux-foundation.org>2026-10-06 19:02:57 -0700
commitdf0b7e0ea59c43708cff8c7e34da5e2f8d430e5e (patch)
tree7d448f529d442afd38ae42cb3e5db139d9e73d36 /lib
parent0a27f795030ce6a2c71525b0544e3b13bba8828e (diff)
selftests/core: fix unshare_test with large fs.nr_open
The test assumes fs.nr_open is close to the default 1048576, but some systems set it much higher (e.g. 1073741816). This is systemd's doing: since systemd v240 (2018), PID 1 bumps fs.nr_open and fs.file-max to their largest possible values on boot, as file descriptors are already accounted for by memcg [1]. In that case, dup2() to nr_open + 64 requires the kernel to allocate a file descriptor table with ~1 billion entries, which fails with ENOMEM. On a kernel that already carries 04a2c4b4511d1, dup2() no longer fails with ENOMEM. The allocation is now rejected up front and the caller gets EMFILE instead, without the WARNING, but the test still fails. Cap the nr_open value used for the test's own arithmetic to a known reasonable base value (1048576) and restore the true original value once the test has completed. Link: https://lore.kernel.org/20260814165709.513263-1-khorenko@virtuozzo.com Link: https://github.com/systemd/systemd/commit/a8b627aaed409a15260c25988970c795bf963812 [1] Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com> Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Shuah Khan <shuah@kernel.org> Cc: Wei Yang <richard.weiyang@gmail.com> Cc: <stable@vger.kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions