Re: Possible dcache BUG

From: Gene Heskett (gene.heskett_at_verizon.net)
Date: 08/14/04

  • Next message: Greg KH: "Re: USB kernel oops 2.6.7"
    To: linux-kernel@vger.kernel.org
    Date:	Sat, 14 Aug 2004 01:50:27 -0400
    
    

    On Friday 13 August 2004 22:18, Marcelo Tosatti wrote:
    [...]
    >
    >Hi fellows,
    >
    >I've taken some time to look at this oopses, and I truly believe we
    >are facing real corruption.
    >
    >The symptom is that an inode's (blockdev) i_mapping->private_list
    > gets corrupted, one of its buffer_head's contains a b_assoc_mapping
    > list_head with NULL pointers.
    >
    >And this is not an SMP race, because Gene is not running SMP.
    >
    >Gene's oops happens when remove_inode_buffers calls
    > __remove_assoc_queue(bh)
    >
    >Ingo's oops happens while remove_inode_buffers does
    >
    > struct buffer_head *bh = BH_ENTRY(list->next);
    >
    >which is
    >
    > mov ffffffd8(%ecx), (%somewhere)
    >
    >%ecx is zero, so...
    >
    >There is a bug somewhere.
    >
    >--- a/fs/buffer.c.original 2004-08-14 00:19:55.000000000 -0300
    >+++ b/fs/buffer.c 2004-08-14 00:34:57.000000000 -0300
    >@@ -802,6 +802,8 @@
    > */
    > static inline void __remove_assoc_queue(struct buffer_head *bh)
    > {
    >+ BUG_ON(bh->b_assoc_buffers.next == NULL);
    >+ BUG_ON(bh->b_assoc_buffers.prev == NULL);
    > list_del_init(&bh->b_assoc_buffers);
    > }
    >
    >@@ -1073,6 +1075,7 @@
    >
    > spin_lock(&buffer_mapping->private_lock);
    > while (!list_empty(list)) {
    >+ BUG_ON(list->next == NULL);
    > struct buffer_head *bh = BH_ENTRY(list->next);
    During the compile, the above line output this warning:
    fs/buffer.c: In function `remove_inode_buffers':
    fs/buffer.c:1079: warning: ISO C90 forbids mixed declarations and code
    Did the compiler do the right thing? Or is this perchance the bug?
    > if (buffer_dirty(bh)) {
    > ret = 0;

    In any event, its getting sleepy out, good night all.

    -- 
    Cheers, Gene
    "There are four boxes to be used in defense of liberty:
     soap, ballot, jury, and ammo. Please use in that order."
    -Ed Howdershelt (Author)
    99.24% setiathome rank, not too shabby for a WV hillbilly
    Yahoo.com attorneys please note, additions to this message
    by Gene Heskett are:
    Copyright 2004 by Maurice Eugene Heskett, all rights reserved.
    -
    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: Greg KH: "Re: USB kernel oops 2.6.7"

    Relevant Pages

    • [2.6 patch] fix aztcd.c compile warning
      ... with belows patch drivers/cdrom/aztcd.c compiles without warning ... the warning shows off on each single compile statistics by cherry. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • cant compile udf
      ... fs/udf/super.c:327: `opt' undeclared ... fs/udf/super.c:311: warning: unused variable `option' ... I tried to compile it as a module and inside the kernel too. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [patch] Real-Time Preemption, -RT-2.6.12-rc5-V0.7.47-15
      ... > WARNING: ... left it at the git5 level, ... Copyright 2005 by Maurice Eugene Heskett, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Typo in fs/smbfs/file.c
      ... I recently compiled 2.6.6 and got a gcc warning: ... fs/smbfs/file.c:274: warning: unknown conversion type character `z' in format ... compile went cleanly. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • current BK compilation failure on ppc32
      ... kernel/power/smp.c:24: error: storage size of `ctxt' isn't known ... kernel/power/smp.c:24: warning: unused variable `ctxt' ... but as they compile it only causes bloat..) ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)

  • Quantcast