mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-08-02 07:57:43 +00:00
squashfs: fix for mksquashfs 4.0 race condition
Fix for the race condition in mksquashfs recently seen. Patch by Phillip Lougher. See http://thread.gmane.org/gmane.comp.file-systems.squashfs.devel/76 for details. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
f76d8a3fd4
commit
76aaac62a6
2
CHANGES
2
CHANGES
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
New packages: divine, libarchive
|
New packages: divine, libarchive
|
||||||
|
|
||||||
|
Updated/fixed packages: squashfs
|
||||||
|
|
||||||
Issues resolved (http://bugs.uclibc.org):
|
Issues resolved (http://bugs.uclibc.org):
|
||||||
|
|
||||||
#487: Make kismet package sexier
|
#487: Make kismet package sexier
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
[PATCH]: fix mksquashfs race condition
|
||||||
|
|
||||||
|
See http://thread.gmane.org/gmane.comp.file-systems.squashfs.devel/76
|
||||||
|
for details.
|
||||||
|
---
|
||||||
|
squashfs-tools/mksquashfs.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
Index: squashfs4.0/squashfs-tools/mksquashfs.c
|
||||||
|
===================================================================
|
||||||
|
--- squashfs4.0.orig/squashfs-tools/mksquashfs.c
|
||||||
|
+++ squashfs4.0/squashfs-tools/mksquashfs.c
|
||||||
|
@@ -1733,8 +1733,8 @@ void unlock_fragments()
|
||||||
|
entry->buffer->block = bytes;
|
||||||
|
bytes += compressed_size;
|
||||||
|
fragments_outstanding --;
|
||||||
|
- pthread_mutex_unlock(&fragment_mutex);
|
||||||
|
queue_put(to_writer, entry->buffer);
|
||||||
|
+ pthread_mutex_unlock(&fragment_mutex);
|
||||||
|
pthread_mutex_lock(&fragment_mutex);
|
||||||
|
TRACE("fragment_locked writing fragment %d, compressed size %d"
|
||||||
|
"\n", entry->fragment, compressed_size);
|
||||||
|
@@ -2426,8 +2426,8 @@ void *frag_deflator(void *arg)
|
||||||
|
write_buffer->block = bytes;
|
||||||
|
bytes += compressed_size;
|
||||||
|
fragments_outstanding --;
|
||||||
|
- pthread_mutex_unlock(&fragment_mutex);
|
||||||
|
queue_put(to_writer, write_buffer);
|
||||||
|
+ pthread_mutex_unlock(&fragment_mutex);
|
||||||
|
TRACE("Writing fragment %lld, uncompressed size %d, "
|
||||||
|
"compressed size %d\n", file_buffer->block,
|
||||||
|
file_buffer->size, compressed_size);
|
||||||
|
@@ -4137,7 +4137,7 @@ void read_recovery_data(char *recovery_f
|
||||||
|
|
||||||
|
|
||||||
|
#define VERSION() \
|
||||||
|
- printf("mksquashfs version 4.0 (2009/04/05)\n");\
|
||||||
|
+ printf("mksquashfs version 4.0-test (2009/04/05)\n");\
|
||||||
|
printf("copyright (C) 2009 Phillip Lougher <phillip@lougher.demon.co.uk>\n\n"); \
|
||||||
|
printf("This program is free software; you can redistribute it and/or\n");\
|
||||||
|
printf("modify it under the terms of the GNU General Public License\n");\
|
@ -14,7 +14,7 @@ $(DL_DIR)/$(SQUASHFS_SOURCE):
|
|||||||
|
|
||||||
$(SQUASHFS_DIR)/.unpacked: $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
|
$(SQUASHFS_DIR)/.unpacked: $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH)
|
||||||
$(SQUASHFS_CAT) $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
$(SQUASHFS_CAT) $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||||
toolchain/patch-kernel.sh $(SQUASHFS_DIR) target/squashfs/ squashfs\*.patch
|
toolchain/patch-kernel.sh $(SQUASHFS_DIR) target/squashfs/ squashfs-$(SQUASHFS_VERSION)-\*.patch
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)/.unpacked
|
$(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR)/.unpacked
|
||||||
|
Loading…
x
Reference in New Issue
Block a user