All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Chained CPIOs writing to the same file bug
@ 2006-02-16  7:37 Michael Neuling
       [not found] ` <20060217160621.99b0ffd4.mikey@neuling.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Neuling @ 2006-02-16  7:37 UTC (permalink / raw)
  To: Al Viro, Linux Kernel Mailing List

You can chain CPIOs together for the initramfs, but if two CPIOs write
to the same file, we don't clear the first before writing the second.
If the first is larger than the second, we end up with a mash of the
two.  Trivial patch below to fix this.

Signed-off-by: Michael Neuling <mikey@neuling.org>
---
 init/initramfs.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6-linus/init/initramfs.c
===================================================================
--- linux-2.6-linus.orig/init/initramfs.c
+++ linux-2.6-linus/init/initramfs.c
@@ -250,7 +250,8 @@ static int __init do_name(void)
 		return 0;
 	if (S_ISREG(mode)) {
 		if (maybe_link() >= 0) {
-			wfd = sys_open(collected, O_WRONLY|O_CREAT, mode);
+			wfd = sys_open(collected, O_WRONLY|O_CREAT|O_TRUNC,
+				       mode);
 			if (wfd >= 0) {
 				sys_fchown(wfd, uid, gid);
 				sys_fchmod(wfd, mode);

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-04-07 17:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-16  7:37 [PATCH] Chained CPIOs writing to the same file bug Michael Neuling
     [not found] ` <20060217160621.99b0ffd4.mikey@neuling.org>
2006-02-21 23:45   ` [PATCH] initramfs: multiple CPIO unpacking fix Michael Neuling
2006-02-22  2:14     ` [klibc] " Jeff Bailey
2006-02-22  2:17       ` H. Peter Anvin
2006-03-22  6:12   ` [PATCH] initramfs: " Michael Neuling
2006-03-22  7:14     ` Jeff Garzik
2006-03-22 16:05       ` [klibc] " H. Peter Anvin
2006-03-22 22:23       ` Rob Landley
2006-03-22 23:22         ` Jeff Garzik
2006-04-07 17:33   ` H. Peter Anvin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.