From b19de3f6b6c8d727f9dafa1995f4295a8ccca271 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sun, 24 Jun 2007 19:22:29 +0200 Subject: [PATCH] --- yaml --- r: 63591 b: refs/heads/master c: 5bd5c03c317085339deb044ba52fce131a6a0b67 h: refs/heads/master i: 63589: 7a86317539f0e42982217b3565d2c74320e5131d 63587: 5a6aa08b69180219d678fd312435c9ed127f071d 63583: 9ad2609051110011b76ce4a6b27f0128af5f6122 v: v3 --- [refs] | 2 +- trunk/Documentation/Changes | 1 - trunk/arch/i386/boot/edd.c | 2 +- trunk/arch/i386/boot/video-vesa.c | 2 +- trunk/fs/jffs2/write.c | 12 ++++++++++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 675027ba1fe4..e1f9176e5056 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 628506c8de058f94297dae1f8ef8caaea29c4369 +refs/heads/master: 5bd5c03c317085339deb044ba52fce131a6a0b67 diff --git a/trunk/Documentation/Changes b/trunk/Documentation/Changes index cb2b141b1c3e..73a8617f1861 100644 --- a/trunk/Documentation/Changes +++ b/trunk/Documentation/Changes @@ -45,7 +45,6 @@ o nfs-utils 1.0.5 # showmount --version o procps 3.2.0 # ps --version o oprofile 0.9 # oprofiled --version o udev 081 # udevinfo -V -o grub 0.93 # grub --version Kernel compilation ================== diff --git a/trunk/arch/i386/boot/edd.c b/trunk/arch/i386/boot/edd.c index 658834d9f92a..77d92daf7923 100644 --- a/trunk/arch/i386/boot/edd.c +++ b/trunk/arch/i386/boot/edd.c @@ -127,7 +127,7 @@ static int get_edd_info(u8 devno, struct edd_info *ei) ax = 0x4800; dx = devno; asm("pushfl; int $0x13; popfl" - : "+a" (ax), "+d" (dx), "=m" (ei->params) + : "+a" (ax), "+d" (dx) : "S" (&ei->params) : "ebx", "ecx", "edi"); diff --git a/trunk/arch/i386/boot/video-vesa.c b/trunk/arch/i386/boot/video-vesa.c index f1bc71e948cf..e6aa9eb8d93a 100644 --- a/trunk/arch/i386/boot/video-vesa.c +++ b/trunk/arch/i386/boot/video-vesa.c @@ -268,7 +268,7 @@ void vesa_store_edid(void) dx = 0; /* EDID block number */ di =(size_t) &boot_params.edid_info; /* (ES:)Pointer to block */ asm(INT10 - : "+a" (ax), "+b" (bx), "+d" (dx), "=m" (boot_params.edid_info) + : "+a" (ax), "+b" (bx), "+d" (dx) : "c" (cx), "D" (di) : "esi"); #endif /* CONFIG_FIRMWARE_EDID */ diff --git a/trunk/fs/jffs2/write.c b/trunk/fs/jffs2/write.c index c9fe0ab3a329..1406f2ce20a7 100644 --- a/trunk/fs/jffs2/write.c +++ b/trunk/fs/jffs2/write.c @@ -173,6 +173,12 @@ struct jffs2_full_dnode *jffs2_write_dnode(struct jffs2_sb_info *c, struct jffs2 flash_ofs |= REF_NORMAL; } fn->raw = jffs2_add_physical_node_ref(c, flash_ofs, PAD(sizeof(*ri)+datalen), f->inocache); + if (IS_ERR(fn->raw)) { + void *hold_err = fn->raw; + /* Release the full_dnode which is now useless, and return */ + jffs2_free_full_dnode(fn); + return ERR_PTR(PTR_ERR(hold_err)); + } fn->ofs = je32_to_cpu(ri->offset); fn->size = je32_to_cpu(ri->dsize); fn->frags = 0; @@ -291,6 +297,12 @@ struct jffs2_full_dirent *jffs2_write_dirent(struct jffs2_sb_info *c, struct jff } /* Mark the space used */ fd->raw = jffs2_add_physical_node_ref(c, flash_ofs | REF_PRISTINE, PAD(sizeof(*rd)+namelen), f->inocache); + if (IS_ERR(fd->raw)) { + void *hold_err = fd->raw; + /* Release the full_dirent which is now useless, and return */ + jffs2_free_full_dirent(fd); + return ERR_PTR(PTR_ERR(hold_err)); + } if (retried) { jffs2_dbg_acct_sanity_check(c,NULL);