lkml.org 
[lkml]   [2012]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[59/67] ipv4: flush route cache after change accept_local
    3.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: Weiping Pan <panweiping3@gmail.com>

    [ Upstream commit d01ff0a049f749e0bf10a35bb23edd012718c8c2 ]

    After reset ipv4_devconf->data[IPV4_DEVCONF_ACCEPT_LOCAL] to 0,
    we should flush route cache, or it will continue receive packets with local
    source address, which should be dropped.

    Signed-off-by: Weiping Pan <panweiping3@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    net/ipv4/devinet.c | 5 +++++
    1 file changed, 5 insertions(+)

    --- a/net/ipv4/devinet.c
    +++ b/net/ipv4/devinet.c
    @@ -1490,7 +1490,9 @@ static int devinet_conf_proc(ctl_table *
    void __user *buffer,
    size_t *lenp, loff_t *ppos)
    {
    + int old_value = *(int *)ctl->data;
    int ret = proc_dointvec(ctl, write, buffer, lenp, ppos);
    + int new_value = *(int *)ctl->data;

    if (write) {
    struct ipv4_devconf *cnf = ctl->extra1;
    @@ -1501,6 +1503,9 @@ static int devinet_conf_proc(ctl_table *

    if (cnf == net->ipv4.devconf_dflt)
    devinet_copy_dflt_conf(net, i);
    + if (i == IPV4_DEVCONF_ACCEPT_LOCAL - 1)
    + if ((new_value == 0) && (old_value != 0))
    + rt_cache_flush(net, 0);
    }

    return ret;



    \
     
     \ /
      Last update: 2012-01-04 00:07    [W:2.686 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site