lkml.org 
[lkml]   [2007]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: tg3: unable to handle null pointer dereference [Re: Linux 2.6.21-rc6]
    From
    Date
    On Fri, 2007-04-06 at 14:40 -0700, Nishanth Aravamudan wrote:

    > 2.6.21-rc5 is ok. 2.6.21-rc6 results in
    >
    > [ 14.241665] Unable to handle kernel NULL pointer dereference (address 0000000000000000)

    Sorry, I think this should fix it:

    [TG3]: Fix crash during tg3_init_one().

    The driver will crash when the chip has been initialized by EFI before
    tg3_init_one(). In this case, the driver will call tg3_chip_reset()
    before allocating consistent memory.

    The bug is fixed by checking for tp->hw_status before accessing it
    during tg3_chip_reset().

    Signed-off-by: Michael Chan <mchan@broadcom.com>

    diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
    index 0acee9f..256969e 100644
    --- a/drivers/net/tg3.c
    +++ b/drivers/net/tg3.c
    @@ -4834,8 +4834,10 @@ static int tg3_chip_reset(struct tg3 *tp)
    * sharing or irqpoll.
    */
    tp->tg3_flags |= TG3_FLAG_CHIP_RESETTING;
    - tp->hw_status->status = 0;
    - tp->hw_status->status_tag = 0;
    + if (tp->hw_status) {
    + tp->hw_status->status = 0;
    + tp->hw_status->status_tag = 0;
    + }
    tp->last_tag = 0;
    smp_mb();
    synchronize_irq(tp->pdev->irq);



    -
    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/

    \
     
     \ /
      Last update: 2007-04-07 00:15    [W:0.021 / U:30.464 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site