Re: [PATCH] hfsplus: don't oops on bad FS

From: Colin Leroy (colin_at_colino.net)
Date: 04/26/05

  • Next message: Nigel Cunningham: "Re: [linux-pm] Re: [PATCH] PCI: Add pci shutdown ability"
    Date:	Tue, 26 Apr 2005 09:14:03 +0200
    To: Colin Leroy <colin@colino.net>
    
    

    On Tue, 26 Apr 2005 08:59:14 +0200
    Colin Leroy <colin@colino.net> wrote:

    > cleanup:
    > + kfree(sb->s_fs_info);
    > + sb->s_fs_info = NULL;
    > +

    Also, that may be wrong: maybe hfsplus_put_super has a job to do if
    mounting fails later than "no hfs+ fs found".

    My understanding of the driver is limited, that's why my initial patch
    did the less possible functionality change. But I'd like to remember
    you (maybe you forgot) that my initial patch wasn't about fixing the
    s_fs_info leak, but rather fixing an oops that happens in
    hfsplus_put_super. That's why I don't think we can run the current code
    in hfsplus_put_super from hfsplus_fill_super cleanup part :

    HFS+-fs: unable to find HFS+ superblock
    Oops: kernel access of bad area, sig: 11 [#1]
    NIP: EA4707F4 LR: EA470AC8 SP: CC91DAA0 REGS: cc91d9f0 TRAP: 0300 Not tainted
    MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
    DAR: 00000004, DSISR: 40000000
    TASK = ce48cdf0[20295] 'mount' THREAD: cc91c000
    Last syscall: 21
    GPR00: 00000000 CC91DAA0 CE48CDF0 CB2FF200 C0373ECC 00000004 E756CD60 3B9ACA00
    GPR08: C2B71F60 C0360000 00000000 BE932A74 0000D903 1002957C 10020000 10026810
    GPR16: 100267E0 10026840 7FF3F4DD 100267D0 7FF3F4B3 00000000 10026820 10026820
    GPR24: 7FF3EF70 EA4709EC EA105714 00000000 00000000 C9341000 C2B71F60 CB2FF200
    NIP [ea4707f4] hfsplus_put_super+0x9c/0x114 [hfsplus]
    LR [ea470ac8] hfsplus_fill_super+0xdc/0x5a8 [hfsplus]
    Call trace:
     [ea470ac8] hfsplus_fill_super+0xdc/0x5a8 [hfsplus]
     [c00644e4] get_sb_bdev+0x14c/0x1d4
     [ea471018] hfsplus_get_sb+0x18/0x28 [hfsplus]
     [c0064824] do_kern_mount+0x5c/0x130
     [c007c774] do_mount+0x46c/0x6cc
     [c007ce18] sys_mount+0x98/0xe8
     [c0004840] ret_from_syscall+0x0/0x44

    -- 
    Colin
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: Nigel Cunningham: "Re: [linux-pm] Re: [PATCH] PCI: Add pci shutdown ability"

    Relevant Pages

    • Re: reboot vs poweroff
      ... >> This is clearly a code path I missed when I was fixing things. ... >> When I made the final acpi change I checked for any other users ... >> The patch in the bug report looks correct. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Badness in device_release at drivers/base/core.c:84
      ... > This patch should fix the oops. ... > As for why the proc reading code was unable to locate the HBA: ... I agree it may be better than an oops, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: IDE-SCSI oops in 2.6.0-test11
      ... I have applied the patch and it has fixed the oops. ... Ross ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: reboot vs poweroff
      ... > This is clearly a code path I missed when I was fixing things. ... > When I made the final acpi change I checked for any other users ... > The patch in the bug report looks correct. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Linux v2.6.8 - Oops on NFSv3
      ... yesterday with a patch. ... > Extracts from the functions where the oops occured: ... But this seems reproducible anytime ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)