Index: squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c =================================================================== --- squashfs-tools-4.6.1.orig/squashfs-tools/mksquashfs.c +++ squashfs-tools-4.6.1/squashfs-tools/mksquashfs.c @@ -5276,6 +5276,15 @@ static void initialise_threads(int readq } #endif } + /* Every frag_thrd will: + * * occupy a slot in the process table (_SC_CHILD_MAX), and will + * * allocate SQUASHFS_FILE_MAX_SIZE (currently 1MiB), which is + * accounted towards the per-process datasize limit, and will + * * open 1 file descriptor (_SC_OPEN_MAX). + * Before we hit any of those limits on big irons, limit + * ourselves to an impressive but sane arbitrary maximum. + */ + if (processors > 64) processors = 64; if(multiply_overflow(processors, 3) || multiply_overflow(processors * 3, sizeof(pthread_t)))