squashfs/squashfs-thread-limit
Philipp Seiler 65f4d119ab Accepting request 741504 from home:seilerphilipp:filesystems
- Version 4.4 - 2019-08-29:
 * Reproducible builds, new compressors,
   CVE fixes, security hardening and new options
   for Mksquashfs/Unsquashfs.
- Overall improvements:
 * Mksquashfs now generates reproducible images by default.
 * Mkfs time and file timestamps can also be specified.
 * Support for the Zstandard (ZSTD) compression algorithm.
 * CVE-2015-4645 and CVE-2015-4646 have been fixed.
- Mksquashfs improvements and major bug fixes:
 * Pseudo files now support symbolic links.
 * New -mkfs-time option.
 * New -all-time option.
 * New -root-mode option.
 * New -quiet option.
 * New -noId option.
 * New -offset option.
 * Update lz4 wrapper to use new functions introduced
   in 1.7.0.
 * Bug fix, don't allow "/" pseudo filenames.
 * Bug fix, allow quoting of pseudo files, to
   better handle filenames with spaces.
 * Fix compilation with glibc 2.25+.
- Unsquashfs improvements and major bug fixes:
 * CVE-2015-4645 and CVE-2015-4646 have been fixed.
 * Unsquashfs has been further hardened against corrupted
   filestems.
 * Unsquashfs is now more strict about error handling.
 * New -ignore-errors option.
 * New -strict-errors option.
 * New -lln[umeric] option.
 * New -lc option.
 * New -llc option.
 * New -mkfs-time option.
 * New -UTC option.
 * New -offset option.
 * New -quiet option.
 * Update lz4 wrapper to use new functions introduced
   in 1.7.0.
 * Bug fix, fatal and non-fatal errors now set the exit
   code to 1.
 * Bug fix, fix time setting for symlinks.
 * Bug fix, try to set sticky-bit when running as a
   user process.
 * Fix compilation with glibc 2.25+.
- build changes
* re-created patches to fit squashfs 4.4

OBS-URL: https://build.opensuse.org/request/show/741504
OBS-URL: https://build.opensuse.org/package/show/filesystems/squashfs?expand=0&rev=42
2019-10-27 17:57:20 +00:00

20 lines
923 B
Plaintext

diff -dupr squashfs4.4_orig/squashfs-tools/mksquashfs.c squashfs4.4/squashfs-tools/mksquashfs.c
--- squashfs4.4_orig/squashfs-tools/mksquashfs.c 2019-10-21 15:36:52.002369471 +0200
+++ squashfs4.4/squashfs-tools/mksquashfs.c 2019-10-21 15:37:13.402549491 +0200
@@ -4384,6 +4384,15 @@ void initialise_threads(int readq, int f
processors = sysconf(_SC_NPROCESSORS_ONLN);
#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)))