Re: 2.6.15-rc2-mm1

From: Andrew Morton (akpm_at_osdl.org)
Date: 11/23/05

  • Next message: Andrew Morton: "Re: Christmas list for the kernel"
    Date:	Wed, 23 Nov 2005 11:22:18 -0800
    To: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
    
    

    Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
    >
    > Debug: sleeping function called from invalid context at
    > include/asm/semaphore.h:123
    > in_atomic():1, irqs_disabled():0
    > [<c0103be6>] dump_stack+0x17/0x19
    > [<c011a0c3>] __might_sleep+0x9c/0xae
    > [<fd9a090d>] translate_table+0x147/0xc14 [ip_tables]
    > [<fd9a2b2a>] ipt_register_table+0x93/0x20d [ip_tables]
    > [<f98fe027>] init+0x27/0x9e [iptable_filter]
    > [<c01376d0>] sys_init_module+0xd7/0x26c
    > [<c0102cc7>] sysenter_past_esp+0x54/0x75
    > ---------------------------
    > | preempt count: 00000001 ]
    > | 1 level deep critical section nesting:
    > ----------------------------------------
    > .. [<fd9a2aca>] .... ipt_register_table+0x33/0x20d [ip_tables]
    > .....[<f98fe027>] .. ( <= init+0x27/0x9e [iptable_filter])
    >

    ipt_register_table() does get_cpu() then calls translate_table(), and
    somewhere under translate_table() we do something which sleeps, only I'm not
    sure what it is - netfilter likes to hide things in unexpected places.

    check_entry() will do sleepy things under that get_cpu(), but that doesn't
    seem to be in this particular call chain.

    Anyway, the new get_cpu() in ipt_register_table() is the problem.
    -
    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: Andrew Morton: "Re: Christmas list for the kernel"

    Relevant Pages