lkml.org 
[lkml]   [2008]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch] bondig - arp_interval with low value => Oops.
    When setting arp_interval parameter to a very low value, delta_in_ticks 
    for next arp might become 0, causing an infinite loop.

    See http://bugzilla.kernel.org/show_bug.cgi?id=10680

    Same problem for miimon parameter already fixed, but fix might be
    enhanced, by using msecs_to_jiffies() function.

    Signed-off-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>

    --- /usr/src/linux/drivers/net/bonding/bond_main_orig.c 2008-05-13
    02:00:01.000000000 +0200
    +++ /usr/src/linux/drivers/net/bonding/bond_main.c 2008-05-14
    14:55:53.000000000 +0200
    @@ -2391,7 +2391,7 @@
    read_lock(&bond->lock);
    }

    - delay = ((bond->params.miimon * HZ) / 1000) ? : 1;
    + delay = msecs_to_jiffies(bond->params.miimon);
    read_unlock(&bond->lock);
    queue_delayed_work(bond->wq, &bond->mii_work, delay);
    }
    @@ -2704,7 +2704,7 @@

    read_lock(&bond->lock);

    - delta_in_ticks = (bond->params.arp_interval * HZ) / 1000;
    + delta_in_ticks = msecs_to_jiffies(bond->params.arp_interval);

    if (bond->kill_timers) {
    goto out;
    @@ -2837,7 +2837,7 @@

    read_lock(&bond->lock);

    - delta_in_ticks = (bond->params.arp_interval * HZ) / 1000;
    + delta_in_ticks = msecs_to_jiffies(bond->params.arp_interval * HZ);

    if (bond->kill_timers) {
    goto out;
    --
    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: 2008-05-15 22:37    [W:0.024 / U:0.120 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site