• Julian Anastasov's avatar
    ipvs: add missing ip_vs_pe_put in sync code · 528c943f
    Julian Anastasov authored
    ip_vs_conn_fill_param_sync() gets in param.pe a module
    reference for persistence engine from __ip_vs_pe_getbyname()
    but forgets to put it. Problem occurs in backup for
    sync protocol v1 (2.6.39).
    
    Also, pe_data usually comes in sync messages for
    connection templates and ip_vs_conn_new() copies
    the pointer only in this case. Make sure pe_data
    is not leaked if it comes unexpectedly for normal
    connections. Leak can happen only if bogus messages
    are sent to backup server.
    
    Fixes: fe5e7a1e ("IPVS: Backup, Adding Version 1 receive capability")
    Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
    Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
    528c943f
ip_vs_sync.c 52.1 KB