linux/net/netfilter/nf_conntrack_proto.c
<<
>>
Prefs
rn false;"> vtion6.21p"+pmarchfalse;"> chfalse;"> 6.28.8" m> v efsten> e .8" m> "> e_efsten>" vdoneype="h7e/13/e8fc25d6961dba0b3bf65dfce6036ee3fb2b_3/0 Prefs tur1ost"/nf_conntrackcommen> /* L3/L4 > Prefs tur2ost" Prefs tur3ost"/nf_conntrackcommen> /* (C) 1999-2001 Paul `Rusty' Rus7.2lnsubmit= Prefs tur4ost"/nf_conntrackcommen> * (C) 2002-2006 N);"> Coct Team <coctteam@();"> .org"+sensubmit= Prefs tur5ost"/nf_conntrackcommen> * (C) 2003,2004 USAGI/WIDE meoj/ne <http://www."../.-ipv6.org"+sensubmit= Prefs tur6ost"/nf_conntrackcommen> *nsubmit= Prefs tur7ost"/nf_conntrackcommen> * T < > gram < free software; you c_coredistrif="e it and/lu modifynsubmit= Prefs tur8ost"/nf_conntrackcommen> * it und the ms of the GNU General Pub/di License vers/spa2 asnsubmit= Prefs tur9ost"/nf_conntrackcommen> * pub/dshed by the Free Software Foundape=".nsubmit= Prefs tuion>t"/nf_conntrackcommen> */nsubmit= Prefs tu11ost" Prefs tu12ost"#i ".././ Prefs tu13ost"#i .hypnntrackfref">".././();"> .host""+se Prefs tu14ost"#i ".././module.host""+se Prefs tu15ost"#i ".././slab.host""+se Prefs tu16ost"#i ".././m="ex.host""+se Prefs tu17ost"#i ".././vmalloc.host""+se Prefs tu18ost"#i ".././st> rf.host""+se Prefs tu19ost"#i ".././er .host""+se Prefs tu20ost"#i ".././percpu.host""+se Prefs tu21ost"#i ".././(otifi .host""+se Prefs tu22ost"#i ".././kernel.host""+se Prefs tu23ost"#i ".././();device.host""+se Prefs tu24ost" Prefs tu25ost"#i Prefs refs();"> Prefs Prefs tu26ost"#i Prefs refs();"> Prefs Prefs tu27ost"#i Prefs refs();"> Prefs Prefs tu28ost"#i Prefs refs();"> Prefs Prefs tu29ost" Prefs tu30ost"="lxr_ struct onclick="code= Prefs vrPrefs v__rcuost" ** onclick="code= Preta> vrPreta> vPF_MAXost"] onclick="code=__read_mostly" > v__read_mostlyost"e Prefs tu31ost"="ruct onclick="code= Prefs vrPrefs v__rcuost" * onclick="code= Pretal3> vrPretal3> vAF_MAXost"] onclick="code=__read_mostly" > v__read_mostlyost"e Prefs tu32ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal3> vrPretal3> Prefs tu33ost" Prefs tu34ost"="lxr_ onclick="code=DEFINE_MUTEX" > vDEFINE_MUTEXost"( onclick="code= Preta> vrPreta> Prefs tu35ost" Prefs tu36ost"#if rf onclick="code=CONFIG_SYSCTL" > vCONFIG_SYSCTLost" Prefs tu37ost"="lxr_ int Prefs tu38ost" onclick="code=rPretaregis _sysctl" > vrPretaregis _sysctlost"(="ruct onclick="code= > vretost" * onclick="code= > vretost", Prefs tu39ost" ="ruct onclick="code=ctl_table_tioner > vctl_table_tionerost" ** onclick="code=tioner > vtionerost", Prefs tu40ost" efsst char * onclick="code=path > vpathost", Prefs tu41ost" ="ruct onclick="code=ctl_table > vctl_tableost" * onclick="code=table > vtableost") Prefs tu42ost"{ Prefs tu43ost" if (* onclick="code=tioner > vtionerost" == onclick="code=NULL" > vNULLost") { Prefs tu44ost" * onclick="code=tioner > vtionerost" = onclick="code=regis _();_sysctl" > vregis _();_sysctlost"( onclick="code= > vretost", onclick="code=path > vpathost", onclick="code=table > vtableost")e Prefs tu45ost" if (* onclick="code=tioner > vtionerost" == onclick="code=NULL" > vNULLost") Prefs tu46ost" x_looku- onclick="code=ENOMEM" > vENOMEMost"e Prefs tu47ost" } Prefs tu48ost" Prefs tu49ost" x_looku0e Prefs tu50ost"} Prefs tu51ost" Prefs tu52ost"="lxr_ void Prefs tu53ost" onclick="code=rPretaunregis _sysctl" > vrPretaunregis _sysctlost"(="ruct onclick="code=ctl_table_tioner > vctl_table_tionerost" ** onclick="code=tioner > vtionerost", Prefs tu54ost" ="ruct onclick="code=ctl_table > vctl_tableost" ** onclick="code=table > vtableost", Prefs tu55ost" unsigned int onclick="code=users" > vusersost") Prefs tu56ost"{ Prefs tu57ost" if ( onclick="code=users" > vusersost" "+se 0) Prefs tu58ost" x_looke Prefs tu59ost" Prefs tu60ost" onclick="code=unregis _();_sysctl_table > vunregis _();_sysctl_tableost"(* onclick="code=tioner > vtionerost")e Prefs tu61ost" onclick="code=kfree > vkfreeost"(* onclick="code=table > vtableost")e Prefs tu62ost" * onclick="code=tioner > vtionerost" = onclick="code=NULL" > vNULLost"e Prefs tu63ost" * onclick="code=table > vtableost" = onclick="code=NULL" > vNULLost"e Prefs tu64ost"} Prefs tu65ost"#endif Prefs tu66ost" Prefs tu67ost"="ruct onclick="code= Prefs vrPrefs Prefs tu68ost" onclick="code=__rPretal4> v__rPretal4> vu_int16_ ost" onclick="code=l3> vl3> u_int8_ ost" onclick="code=l4> vl4> Prefs tu69ost"{ Prefs tu70ost" if ( onclick="code=unlikely" > vunlikelyost"( onclick="code=l3> vl3> vAF_MAXost" || onclick="code= Preta> vrPreta> vl3> vNULLost")) Prefs tu71ost" x_looku& onclick="code= Prefs vrPrefs Prefs tu72ost" Prefs tu73ost" x_looku onclick="code=rcu_nereference > vrcu_nereferenceost"( onclick="code= Preta> vrPreta> vl3> vl4> Prefs tu74ost"} Prefs tu75ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code=__rPretal4> v__rPretal4> Prefs tu76ost" Prefs tu77ost"/nf_conntrackcommen> /* < < guaranteed to always x_lookua"ajaid > Prefs tu78ost"/nf_conntrackcommen> * it falls b Prefs tu79ost"="ruct onclick="code= Prefs vrPrefs Prefs tu80ost" onclick="code=rPretal3> vrPretal3> vu_int16_ ost" onclick="code=l3> vl3> Prefs tu81ost"{ Prefs tu82ost" ="ruct onclick="code= Prefs vrPrefs post"e Prefs tu83ost" Prefs tu84ost" onclick="code=rcu_read_lock > vrcu_read_lockost"()e Prefs tu85ost" onclick="code=p > vpost" = onclick="code=__rPretal3> v__rPretal3> vl3> Prefs tu86ost" if (! onclick="code=try_module_g > vtry_module_g ost"( onclick="code=p > vpost"-"+senonclick="code=me > vmeost")) Prefs tu87ost" onclick="code=p > vpost" = & onclick="code= Prefs vrPrefs Prefs tu88ost" onclick="code=rcu_read_unlock > vrcu_read_unlockost"()e Prefs tu89ost" Prefs tu90ost" x_looku onclick="code=p > vpost"e Prefs tu91ost"} Prefs tu92ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal3> vrPretal3> Prefs tu93ost" Prefs tu94ost"void onclick="code= Pretal3> vrPretal3> vrPrefs post") Prefs tu95ost"{ Prefs tu96ost" onclick="code=module_pu > vmodule_pu ost"( onclick="code=p > vpost"-"+senonclick="code=me > vmeost")e Prefs tu97ost"} Prefs tu98ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal3> vrPretal3> Prefs tu99ost" Prefs t100ost"int Prefs t101ost" onclick="code=rPretal3> vrPretal3> vl3> Prefs t102ost"{ Prefs t103ost" int onclick="code=r > vr ost"e Prefs t104ost" ="ruct onclick="code= Prefs vrPrefs post"e Prefs t105ost" Prefs t106ost" onclick="code=r ry" > vr ryost": onclick="code=p > vpost" = onclick="code=rPretal3> vrPretal3> vl3> Prefs t107ost" if ( onclick="code=p > vpost" == & onclick="code= Prefs vrPrefs Prefs t108ost" onclick="code=r > vr ost" = onclick="code=request_module > vr quest_moduleost"( nf_conntrackstring">" Prefs vl3> Prefs t109ost" if (! onclick="code=r > vr ost") Prefs t110ost" g vr ryost"e Prefs t111ost" Prefs t112ost" x_looku- onclick="code=EPROTOTYPE" > vEPROTOTYPEost"e Prefs t113ost" } Prefs t114ost" Prefs t115ost" x_looku0e Prefs t116ost"} Prefs t117ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal3> vrPretal3> Prefs t118ost" Prefs t119ost"void onclick="code= Pretal3> v Pretal3> vl3> Prefs t120ost"{ Prefs t121ost" ="ruct onclick="code= Prefs vrPrefs post"e Prefs t122ost" Prefs t123ost" /nf_conntrackcommen> /* rcu_read_lock not necessary since the caller holds a x_ference, bu osubmit= Prefs t124ost"/nf_conntrackcommen> * taken anyways to avoid lockdep warnings in __rPretal3> Prefs t125ost"/nf_conntrackcommen> */nsubmit= Prefs t126ost" onclick="code=rcu_read_lock > vrcu_read_lockost"()e Prefs t127ost" onclick="code=p > vpost" = onclick="code=__rPretal3> v__rPretal3> vl3> Prefs t128ost" onclick="code=module_pu > vmodule_pu ost"( onclick="code=p > vpost"-"+senonclick="code=me > vmeost")e Prefs t129ost" onclick="code=rcu_read_unlock > vrcu_read_unlockost"()e Prefs t130ost"} Prefs t131ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal3> v Pretal3> Prefs t132ost" Prefs t133ost"="ruct onclick="code= Prefs vrPrefs Prefs t134ost" onclick="code= Pretal4> vrPretal4> vu_int16_ ost" onclick="code=l3num" > vl3numost", onclick="code=u_int8_ > vu_int8_ ost" onclick="code=l4num" > vl4numost") Prefs t135ost"{ Prefs t136ost" ="ruct onclick="code= Prefs vrPrefs post"e Prefs t137ost" Prefs t138ost" onclick="code=rcu_read_lock > vrcu_read_lockost"()e Prefs t139ost" onclick="code=p > vpost" = onclick="code=__rPretal4> v__rPretal4> vl3numost", onclick="code=l4num" > vl4numost")e Prefs t140ost" if (! onclick="code=try_module_g > vtry_module_g ost"( onclick="code=p > vpost"-"+senonclick="code=me > vmeost")) Prefs t141ost" onclick="code=p > vpost" = & onclick="code= Prefs vrPrefs Prefs t142ost" onclick="code=rcu_read_unlock > vrcu_read_unlockost"()e Prefs t143ost" Prefs t144ost" x_looku onclick="code=p > vpost"e Prefs t145ost"} Prefs t146ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal4> vrPretal4> Prefs t147ost" Prefs t148ost"void onclick="code= Pretal4> vrPretal4> vrPrefs post") Prefs t149ost"{ Prefs t150ost" onclick="code=module_pu > vmodule_pu ost"( onclick="code=p > vpost"-"+senonclick="code=me > vmeost")e Prefs t151ost"} Prefs t152ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Pretal4> vrPretal4> Prefs t153ost" Prefs t154ost"="lxr_ int onclick="code=killal3> vkillal3> vrPrefs ost" * onclick="code=i" > viost", void * onclick="code=data" > vdataost") Prefs t155ost"{ Prefs t156ost" x_looku onclick="code= Pretal3num" > v Pretal3numost"( onclick="code=i" > viost") == ((="ruct onclick="code= Prefs vrPrefs vdataost")-"+senonclick="code=l3> vl3> Prefs t157ost"} Prefs t158ost" Prefs t159ost"="lxr_ int onclick="code=killal4> vkillal4> vrPrefs ost" * onclick="code=i" > viost", void * onclick="code=data" > vdataost") Prefs t160ost"{ Prefs t161ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t162ost" onclick="code=l4> vl4> vrPrefs vdataost"e Prefs t163ost" x_looku onclick="code= Preta> v Preta> viost") == onclick="code=l4> vl4> vl4> Prefs t164ost" onclick="code= Pretal3num" > v Pretal3numost"( onclick="code=i" > viost") == onclick="code=l4> vl4> vl3> Prefs t165ost"} Prefs t166ost" Prefs t167ost"="lxr_ ="ruct onclick="code= Prip_();" > v Prip_();ost" * onclick="code= Pretal3> v Pretal3> vretost" * onclick="code= > vretost", Prefs t168ost" ="ruct onclick="code= Prefs vrPrefs vl3> Prefs t169ost"{ Prefs t170ost" if ( onclick="code=l3> vl3> vl3> vPF_INETost") Prefs t171ost" x_looku& onclick="code= > vretost"-"+senonclick="code=c > vctost". onclick="code= Preta> v Preta> Prefs t172ost" else Prefs t173ost" x_looku onclick="code=NULL" > vNULLost"e Prefs t174ost"} Prefs t175ost" Prefs t176ost"="lxr_ int onclick="code= Pretal3> vrPretal3> vretost" * onclick="code= > vretost", Prefs t177ost" ="ruct onclick="code= Prefs vrPrefs vl3> Prefs t178ost"{ Prefs t179ost" int onclick="code=err > verrost" = 0e Prefs t180ost" ="ruct onclick="code= Prip_();" > v Prip_();ost" * onclick="code=i " > vinost" = onclick="code= Pretal3> v Pretal3> vretost", onclick="code=l3> vl3> Prefs t181ost" nf_conntrackcommen> /* rPrefs Prefs t182ost" if ( onclick="code=i " > vinost" == onclick="code=NULL" > vNULLost") Prefs t183ost" x_looku0e Prefs t184ost" Prefs t185ost"#if onclick="code=defined" > vdefinedost"( onclick="code=CONFIG_SYSCTL" > vCONFIG_SYSCTLost") && onclick="code=defined" > vdefinedost"( onclick="code=CONFIG_NF_CONNTRACK_PROC_COMPAT" > vCONFIG_NF_CONNTRACK_PROC_COMPATost") Prefs t186ost" if ( onclick="code=i " > vinost"-"+senonclick="code=c l_table > vctl_tableost" != onclick="code=NULL" > vNULLost") { Prefs t187ost" onclick="code=err > verrost" = onclick="code= Pretaregis _sysctl" > vrPretaregis _sysctlost"( onclick="code= > vretost", Prefs t188ost" u& onclick="code=i " > vinost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost", Prefs t189ost" onclick="code=l3> vl3> vctl_table_pathost", Prefs t190ost" onclick="code=i " > vinost"-"+senonclick="code=c l_table > vctl_tableost")e Prefs t191ost" if ( onclick="code=err > verrost" < 0) { Prefs t192ost" onclick="code=kfree > vkfreeost"( onclick="code=i " > vinost"-"+senonclick="code=c l_table > vctl_tableost")e Prefs t193ost" onclick="code=i " > vinost"-"+senonclick="code=c l_table > vctl_tableost" = onclick="code=NULL" > vNULLost"e Prefs t194ost" } Prefs t195ost" } Prefs t196ost"#endif Prefs t197ost" x_looku onclick="code=err > verrost"e Prefs t198ost"} Prefs t199ost" Prefs t200ost"="lxr_ void onclick="code= Pretal3> vrPretal3> vretost" * onclick="code= > vretost", Prefs t201ost" ="ruct onclick="code= Prefs vrPrefs vl3> Prefs t202ost"{ Prefs t203ost" ="ruct onclick="code= Prip_();" > v Prip_();ost" * onclick="code=i " > vinost" = onclick="code= Pretal3> v Pretal3> vretost", onclick="code=l3> vl3> Prefs t204ost" Prefs t205ost" if ( onclick="code=i " > vinost" == onclick="code=NULL" > vNULLost") Prefs t206ost" x_looke Prefs t207ost"#if onclick="code=defined" > vdefinedost"( onclick="code=CONFIG_SYSCTL" > vCONFIG_SYSCTLost") && onclick="code=defined" > vdefinedost"( onclick="code=CONFIG_NF_CONNTRACK_PROC_COMPAT" > vCONFIG_NF_CONNTRACK_PROC_COMPATost") Prefs t208ost" if ( onclick="code=i " > vinost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost" != onclick="code=NULL" > vNULLost") Prefs t209ost" onclick="code= Pretaunregis _sysctl" > vrPretaunregis _sysctlost"(& onclick="code=i " > vinost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost", Prefs t210ost" & onclick="code=i " > vinost"-"+senonclick="code=c l_table > vctl_tableost", Prefs t211ost" 0)e Prefs t212ost"#endif Prefs t213ost"} Prefs t214ost" Prefs t215ost"="lxr_ int Prefs t216ost" onclick="code=rPrefs vrPrefs vrPrefs v> Prefs t217ost"{ Prefs t218ost" int onclick="code=r > vr ost" = 0e Prefs t219ost" ="ruct onclick="code= Prefs vrPrefs voldost"e Prefs t220ost" Prefs t221ost" if ( onclick="code=p v> vl3> vAF_MAXost") Prefs t222ost" x_looku- onclick="code=EBUSY" > vEBUSYost"e Prefs t223ost" Prefs t224ost" if ( onclick="code=p v> vtuple_ v> v(lattr_tuple_sizeost") Prefs t225ost" x_looku- onclick="code=EINVAL" > vEINVALost"e Prefs t226ost" Prefs t227ost" onclick="code=mutex_lock > vmutex_lockost"(& onclick="code= Preta> vrPreta> Prefs t228ost" onclick="code=old" > voldost" = onclick="code=rcu_nereferencea> vrcu_nereferencea> vrPretal3> v> vl3> Prefs t229ost" nonclick="code=lockdep_is_tild" > vlockdep_is_tildost"(& onclick="code= Preta> vrPreta> Prefs t230ost" if ( onclick="code=old" > voldost" != & onclick="code= Prefs vrPrefs Prefs t231ost" onclick="code=r > vr ost" = - onclick="code=EBUSY" > vEBUSYost"e Prefs t232ost" g vout_unlockost"e Prefs t233ost" } Prefs t234ost" Prefs t235ost" if ( onclick="code=p v> v(lattr_tuple_sizeost") Prefs t236ost" onclick="code=p v> v(la_sizeost" = 3 * onclick="code=p v> v(lattr_tuple_sizeost"()e Prefs t237ost" Prefs t238ost" onclick="code=rcu_traign_pointer > vrcu_traign_pointerost"( onclick="code= Pretal3> vrPretal3> v> vl3> v> Prefs t239ost" Prefs t240ost" onclick="code=out_unlock > vout_unlockost": Prefs t241ost" onclick="code=mutex_unlock > vmutex_unlockost"(& onclick="code= Preta> vrPreta> Prefs t242ost" x_looku onclick="code=r > vr ost"e Prefs t243ost" Prefs t244ost"} Prefs t245ost" Prefs t246ost"int onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost", Prefs t247ost" ="ruct onclick="code= Prefs vrPrefs v> Prefs t248ost"{ Prefs t249ost" int onclick="code=r > vr ost" = 0e Prefs t250ost" Prefs t251ost" if ( onclick="code=p v> vinit_();ost") { Prefs t252ost" onclick="code=r > vr ost" = onclick="code=p v> vinit_();ost"( onclick="code= > vretost")e Prefs t253ost" if ( onclick="code=r > vr ost" < 0) Prefs t254ost" x_looku onclick="code=r > vr ost"e Prefs t255ost" } Prefs t256ost" Prefs t257ost" onclick="code=r > vr ost" = onclick="code= Pretal3> vrPretal3> vretost", onclick="code=p v> Prefs t258ost" if ( onclick="code=r > vr ost" < 0) Prefs t259ost" x_looku onclick="code=r > vr ost"e Prefs t260ost" Prefs t261ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") { Prefs t262ost" onclick="code=r > vr ost" = onclick="code=rPrefs vrPrefs v> Prefs t263ost" if ( onclick="code=r > vr ost" < 0) Prefs t264ost" onclick="code= Pretal3> vrPretal3> vretost", onclick="code=p v> Prefs t265ost" } Prefs t266ost" Prefs t267ost" x_looku onclick="code=r > vr ost"e Prefs t268ost"} Prefs t269ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Prefs vrPrefs Prefs t270ost" Prefs t271ost"="lxr_ void Prefs t272ost" onclick="code=rPrefs vrPrefs vrPrefs v> Prefs t273ost"{ Prefs t274ost" onclick="code=BUG_ON" > vBUG_ONost"( onclick="code=p v> vl3> vAF_MAXost")e Prefs t275ost" Prefs t276ost" onclick="code=mutex_lock > vmutex_lockost"(& onclick="code= Preta> vrPreta> Prefs t277ost" onclick="code=BUG_ON" > vBUG_ONost"( onclick="code=rcu_nereferencea> vrcu_nereferencea> vrPretal3> v> vl3> Prefs t278ost" nonclick="code=lockdep_is_tild" > vlockdep_is_tildost"(& onclick="code= Preta> vrPreta> Prefs t279ost" ) != onclick="code=p v> Prefs t280ost" onclick="code=rcu_traign_pointer > vrcu_traign_pointerost"( onclick="code= Pretal3> vrPretal3> v> vl3> Prefs t281ost" & onclick="code= Prefs vrPrefs Prefs t282ost" onclick="code=mutex_unlock > vmutex_unlockost"(& onclick="code= Preta> vrPreta> Prefs t283ost" Prefs t284ost" onclick="code=synchronize_rcu" > vsynchronize_rcuost"()e Prefs t285ost"} Prefs t286ost" Prefs t287ost"void onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost", Prefs t288ost" ="ruct onclick="code= Prefs vrPrefs v> Prefs t289ost"{ Prefs t290ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") Prefs t291ost" onclick="code=rPrefs vrPrefs v> Prefs t292ost" Prefs t293ost" onclick="code= Pretal3> vrPretal3> vretost", onclick="code=p v> Prefs t294ost" Prefs t295ost" nf_conntrackcommen> /* Remove all efs ries for this > Prefs t296ost" onclick="code=rPretai ate_cleanup > vrPretai ate_cleanupost"( onclick="code= > vretost", onclick="code=killal3> vkillal3> v> Prefs t297ost"} Prefs t298ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Prefs vrPrefs Prefs t299ost" Prefs t300ost"="lxr_ ="ruct onclick="code= Pr> vrPr> vrPretal4> vretost" * onclick="code= > vretost", Prefs t301ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t302ost"{ Prefs t303ost" if ( onclick="code=l4> vl4> vget_();_> Prefs t304ost" nf_conntrackcommen> /* ="lxr_ally bu> -in > Prefs t305ost" x_looku onclick="code=l4> vl4> vget_();_> retost")e Prefs t306ost" } else if ( onclick="code=l4> vl4> v();_idost") { Prefs t307ost" nf_conntrackcommen> /* ... and loadable > Prefs t308ost" x_looku onclick="code= );_generic" > vr);_genericost"( onclick="code= > vretost", * onclick="code=l4> vl4> v();_idost")e Prefs t309ost" } Prefs t310ost" x_looku onclick="code=NULL" > vNULLost"e Prefs t311ost"} Prefs t312ost" Prefs t313ost"="lxr_ Prefs t314ost"int onclick="code= Pretal4> vrPretal4> vretost" * onclick="code= > vretost", Prefs t315ost" ="ruct onclick="code= Pr> vrPr> vpnost", Prefs t316ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t317ost"{ Prefs t318ost" int onclick="code=err > verrost" = 0e Prefs t319ost" Prefs t320ost"#ifdef onclick="code=CONFIG_SYSCTL" > vCONFIG_SYSCTLost" Prefs t321ost" if ( onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost" != onclick="code=NULL" > vNULLost") { Prefs t322ost" onclick="code=err > verrost" = onclick="code= Pretaregis _sysctl" > vrPretaregis _sysctlost"( onclick="code= > vretost", Prefs t323ost" & onclick="code=p " > vpnost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost", Prefs t324ost" nf_conntrack="ring">"refs();"> "nsubmit, Prefs t325ost" onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost")e Prefs t326ost" if ( onclick="code=err > verrost" < 0) { Prefs t327ost" if (! onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost") { Prefs t328ost" onclick="code=kfree > vkfreeost"( onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost")e Prefs t329ost" onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost" = onclick="code=NULL" > vNULLost"e Prefs t330ost" } Prefs t331ost" } Prefs t332ost" } Prefs t333ost"#ifdef onclick="code=CONFIG_NF_CONNTRACK_PROC_COMPAT" > vCONFIG_NF_CONNTRACK_PROC_COMPATost" Prefs t334ost" if ( onclick="code=l4> vl4> vl3> vAF_INET6ost" && onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_table > vctl_compat_tableost" != onclick="code=NULL" > vNULLost") { Prefs t335ost" if ( onclick="code=err > verrost" < 0) { Prefs t336ost" onclick="code=rPretakfree_compat_sysctl_table > vrPretakfree_compat_sysctl_tableost"( onclick="code=p " > vpnost")e Prefs t337ost" g voutost"e Prefs t338ost" } Prefs t339ost" onclick="code=err > verrost" = onclick="code= Pretaregis _sysctl" > vrPretaregis _sysctlost"( onclick="code= > vretost", Prefs t340ost" & onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_tioner > vctl_compat_tionerost", Prefs t341ost" nf_conntrack="ring">"refsipv4s();"> "nsubmit, Prefs t342ost" onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_table > vctl_compat_tableost")e Prefs t343ost" if ( onclick="code=err > verrost" == 0) Prefs t344ost" g voutost"e Prefs t345ost" Prefs t346ost" onclick="code=rPretakfree_compat_sysctl_table > vrPretakfree_compat_sysctl_tableost"( onclick="code=p " > vpnost")e Prefs t347ost" onclick="code=rPretaunregis _sysctl" > vrPretaunregis _sysctlost"(& onclick="code=p " > vpnost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost", Prefs t348ost" & onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost", Prefs t349ost" nonclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost")e Prefs t350ost" } Prefs t351ost" onclick="code=out" > voutost": Prefs t352ost"#endif nf_conntrackcommen> /* CONFIG_NF_CONNTRACK_PROC_COMPAT */nsubmit= Prefs t353ost"#endif nf_conntrackcommen> /* CONFIG_SYSCTL */nsubmit= Prefs t354ost" x_looku onclick="code=err > verrost"e Prefs t355ost"} Prefs t356ost" Prefs t357ost"="lxr_ Prefs t358ost"void onclick="code= Pretal4> vrPretal4> vretost" * onclick="code= > vretost", Prefs t359ost" ="ruct onclick="code= Pr> vrPr> vpnost", Prefs t360ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t361ost"{ Prefs t362ost"#ifdef onclick="code=CONFIG_SYSCTL" > vCONFIG_SYSCTLost" Prefs t363ost" if ( onclick="code=p " > vpnost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost" != onclick="code=NULL" > vNULLost") Prefs t364ost" onclick="code=rPretaunregis _sysctl" > vrPretaunregis _sysctlost"(& onclick="code=p " > vpnost"-"+senonclick="code=c l_table_tioner > vctl_table_tionerost", Prefs t365ost" & onclick="code=p " > vpnost"-"+senonclick="code=c l_table > vctl_tableost", Prefs t366ost" onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost")e Prefs t367ost" Prefs t368ost"#ifdef onclick="code=CONFIG_NF_CONNTRACK_PROC_COMPAT" > vCONFIG_NF_CONNTRACK_PROC_COMPATost" Prefs t369ost" if ( onclick="code=l4> vl4> vl3> vAF_INET6ost" && onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_tioner > vctl_compat_tionerost" != onclick="code=NULL" > vNULLost") Prefs t370ost" onclick="code=rPretaunregis _sysctl" > vrPretaunregis _sysctlost"(& onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_tioner > vctl_compat_tionerost", Prefs t371ost" & onclick="code=p " > vpnost"-"+senonclick="code=c l_compat_table > vctl_compat_tableost", Prefs t372ost" 0)e Prefs t373ost"#endif nf_conntrackcommen> /* CONFIG_NF_CONNTRACK_PROC_COMPAT */nsubmit= Prefs t374ost"#endif nf_conntrackcommen> /* CONFIG_SYSCTL */nsubmit= Prefs t375ost"} Prefs t376ost" Prefs t377ost" nf_conntrackcommen> /* FIXME: Allow NULL functions and sub in >ointers to generic fornsubmit= Prefs t378ost" nf_conntrackcommen> them. --RR */nsubmit= Prefs t379ost"="lxr_ int Prefs t380ost" onclick="code=rPrefs vrPrefs vrPrefs vl4> Prefs t381ost"{ Prefs t382ost" int onclick="code=r > vr ost" = 0e Prefs t383ost" Prefs t384ost" if ( onclick="code=l4> vl4> vl3> vPF_MAXost") Prefs t385ost" x_looku- onclick="code=EBUSY" > vEBUSYost"e Prefs t386ost" Prefs t387ost" if (( onclick="code=l4> vl4> vt/_(lattrost" "amp;& ! onclick="code=l4> vl4> v(lattr_sizeost") Prefs t388ost" || ( onclick="code=l4> vl4> vtuple_ vl4> v(lattr_tuple_sizeost")) Prefs t389ost" x_looku- onclick="code=EINVAL" > vEINVALost"e Prefs t390ost" Prefs t391ost" onclick="code=mutex_lock > vmutex_lockost"(& onclick="code= Preta> vrPreta> Prefs t392ost" if (! onclick="code=rPreta> vrPreta> vl4> vl3> Prefs t393ost" nf_conntrackcommen> /* l3> Prefs t394ost" ="ruct onclick="code= Prefs vrPrefs v__rcuost" ** onclick="code=> vp Prefs t395ost" int onclick="code=i" > viost"e Prefs t396ost" Prefs t397ost" onclick="code=> vp vkmallocost"( onclick="code=MAX_NF_CT_PROTO" > vMAX_NF_CT_PROTOost" * Prefs t398ost" sizeof(="ruct onclick="code= Prefs vrPrefs Prefs t399ost" onclick="code=GFP_KERNEL" > vGFP_KERNELost")e Prefs t400ost" if ( onclick="code=p vp vNULLost") { Prefs t401ost" onclick="code=r > vr ost" = - onclick="code=ENOMEM" > vENOMEMost"e Prefs t402ost" g vout_unlockost"e Prefs t403ost" } Prefs t404ost" Prefs t405ost" for ( onclick="code=i" > viost" = 0e onclick="code=i" > viost" < onclick="code=MAX_NF_CT_PROTO" > vMAX_NF_CT_PROTOost"e onclick="code=i" > viost"++) Prefs t406ost" onclick="code=RCU_INIT_POINTER" > vRCU_INIT_POINTERost"( onclick="code=p vp viost"], & onclick="code= Prefs vrPrefs Prefs t407ost" Prefs t408ost" nf_conntrackcommen> /* Before making p Prefs t409ost" nf_conntrackcommen> * we must make sure its efs en> is efmmitted Prefs t410ost" nf_conntrackcommen> */nsubmit= Prefs t411ost" onclick="code=smp_wmb" > vsmp_wmbost"()e Prefs t412ost" Prefs t413ost" onclick="code=rPreta> vrPreta> vl4> vl3> vp Prefs t414ost" } else if ( onclick="code=rcu_nereferencea> vrcu_nereferencea> Prefs t415ost" onclick="code=rPreta> vrPreta> vl4> vl3> vl4> vl4> Prefs t416ost" nonclick="code=lockdep_is_tild" > vlockdep_is_tildost"(& onclick="code= Preta> vrPreta> Prefs t417ost" ) != & onclick="code= Prefs vrPrefs Prefs t418ost" onclick="code=r > vr ost" = - onclick="code=EBUSY" > vEBUSYost"e Prefs t419ost" g vout_unlockost"e Prefs t420ost" } Prefs t421ost" Prefs t422ost" onclick="code=l4> vl4> v(la_sizeost" = 0e Prefs t423ost" if ( onclick="code=l4> vl4> v(lattr_sizeost") Prefs t424ost" onclick="code=l4> vl4> v(la_sizeost" += onclick="code=l4> vl4> v(lattr_sizeost"()e Prefs t425ost" if ( onclick="code=l4> vl4> v(lattr_tuple_sizeost") Prefs t426ost" onclick="code=l4> vl4> v(la_sizeost" += 3 * onclick="code=l4> vl4> v(lattr_tuple_sizeost"()e Prefs t427ost" Prefs t428ost" onclick="code=rcu_araign_pointer > vrcu_traign_pointerost"( onclick="code= Preta> vrPreta> vl4> vl3> vl4> vl4> Prefs t429ost" onclick="code=l4> vl4> Prefs t430ost" onclick="code=out_unlock > vout_unlockost": Prefs t431ost" onclick="code=mutex_unlock > vmutex_unlockost"(& onclick="code= Preta> vrPreta> Prefs t432ost" x_looku onclick="code=r > vr ost"e Prefs t433ost"} Prefs t434ost" Prefs t435ost"int onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost", Prefs t436ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t437ost"{ Prefs t438ost" int onclick="code=r > vr ost" = 0e Prefs t439ost" ="ruct onclick="code= Pr> vrPr> vpnost" = onclick="code=NULL" > vNULLost"e Prefs t440ost" Prefs t441ost" if ( onclick="code=l4> vl4> vinit_();ost") { Prefs t442ost" onclick="code=r > vr ost" = onclick="code=l4> vl4> vinit_();ost"( onclick="code= > vretost", onclick="code=l4> vl4> vl3> Prefs t443ost" if ( onclick="code=r > vr ost" < 0) Prefs t444ost" g voutost"e Prefs t445ost" } Prefs t446ost" Prefs t447ost" onclick="code=p " > vpnost" = onclick="code=nPretal4> vrPretal4> vretost", onclick="code=l4> vl4> Prefs t448ost" if ( onclick="code=p " > vpnost" == onclick="code=NULL" > vNULLost") Prefs t449ost" g voutost"e Prefs t450ost" Prefs t451ost" onclick="code=r > vr ost" = onclick="code=rPretal4> vrPretal4> vretost", onclick="code=p " > vpnost", onclick="code=l4> vl4> Prefs t452ost" if ( onclick="code=r > vr ost" < 0) Prefs t453ost" g voutost"e Prefs t454ost" Prefs t455ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") { Prefs t456ost" onclick="code=r > vr ost" = onclick="code=rPrefs vrPrefs vl4> Prefs t457ost" if ( onclick="code=r > vr ost" < 0) { Prefs t458ost" onclick="code=rPretal4> vrPretal4> vretost", onclick="code=p " > vpnost", onclick="code=l4> vl4> Prefs t459ost" g voutost"e Prefs t460ost" } Prefs t461ost" } Prefs t462ost" Prefs t463ost" onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost"++e Prefs t464ost" onclick="code=out" > voutost": Prefs t465ost" x_looku onclick="code=r > vr ost"e Prefs t466ost"} Prefs t467ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Prefs vrPrefs Prefs t468ost" Prefs t469ost"="lxr_ void Prefs t470ost" onclick="code=rPrefs vrPrefs vrPrefs vl4> Prefs t471ost"{ Prefs t472ost" onclick="code=BUG_ON" > vBUG_ONost"( onclick="code=l4> vl4> vl3> vPF_MAXost")e Prefs t473ost" Prefs t474ost" onclick="code=mutex_lock > vmutex_lockost"(& onclick="code= Preta> vrPreta> Prefs t475ost" onclick="code=BUG_ON" > vBUG_ONost"( onclick="code=rcu_nereferencea> vrcu_nereferencea> Prefs t476ost" onclick="code=rPreta> vrPreta> vl4> vl3> vl4> vl4> Prefs t477ost" nonclick="code=lockdep_is_tild" > vlockdep_is_tildost"(& onclick="code= Preta> vrPreta> Prefs t478ost" ) != onclick="code=l4> vl4> Prefs t479ost" onclick="code=rcu_araign_pointer > vrcu_traign_pointerost"( onclick="code= Preta> vrPreta> vl4> vl3> vl4> vl4> Prefs t480ost" & onclick="code= Prefs vrPrefs Prefs t481ost" onclick="code=mutex_unlock > vmutex_unlockost"(& onclick="code= Preta> vrPreta> Prefs t482ost" Prefs t483ost" onclick="code=synchronize_rcu" > vsynchronize_rcuost"()e Prefs t484ost"} Prefs t485ost" Prefs t486ost"void onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost", Prefs t487ost" ="ruct onclick="code= Prefs vrPrefs vl4> Prefs t488ost"{ Prefs t489ost" ="ruct onclick="code= Pr> vrPr> vpnost" = onclick="code=NULL" > vNULLost"e Prefs t490ost" Prefs t491ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") Prefs t492ost" onclick="code=rPrefs vrPrefs vl4> Prefs t493ost" Prefs t494ost" onclick="code=p " > vpnost" = onclick="code=nPretal4> vrPretal4> vretost", onclick="code=l4> vl4> Prefs t495ost" if ( onclick="code=p " > vpnost" == onclick="code=NULL" > vNULLost") Prefs t496ost" x_looke Prefs t497ost" Prefs t498ost" onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost"--e Prefs t499ost" onclick="code=rPretal4> vrPretal4> vretost", onclick="code=p " > vpnost", onclick="code=l4> vl4> Prefs t500ost" Prefs t501ost" nf_conntrackcommen> /* Remove all efs ries for this p Prefs t502ost" onclick="code=rPretai ate_cleanup" > vrPretai ate_cleanupost"( onclick="code= > vretost", onclick="code=killal4> vkillal4> vl4> Prefs t503ost"} Prefs t504ost" onclick="code=EXPORT_SYMBOL_GPL" > vEXPORT_SYMBOL_GPLost"( onclick="code= Prefs vrPrefs Prefs t505ost" Prefs t506ost"int onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost") Prefs t507ost"{ Prefs t508ost" unaigned int onclick="code=i" > viost"e Prefs t509ost" int onclick="code=err > verrost"e Prefs t510ost" ="ruct onclick="code= Pr> vrPr> vpnost" = onclick="code=nPretal4> vrPretal4> vretost", Prefs t511ost" & onclick="code= Prefs vrPrefs Prefs t512ost" Prefs t513ost" onclick="code=err > verrost" = onclick="code=rPrefs vrPrefs vinit_();ost"( onclick="code= > vretost", Prefs t514ost" onclick="code=rPrefs vrPrefs vl3> Prefs t515ost" if ( onclick="code=err > verrost" < 0) Prefs t516ost" x_looku onclick="code=err > verrost"e Prefs t517ost" onclick="code=err > verrost" = onclick="code=rPretal4> vrPretal4> vretost", Prefs t518ost" onclick="code=p " > vpnost", Prefs t519ost" & onclick="code= Prefs vrPrefs Prefs t520ost" if ( onclick="code=err > verrost" < 0) Prefs t521ost" x_looku onclick="code=err > verrost"e Prefs t522ost" Prefs t523ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") { Prefs t524ost" for ( onclick="code=i" > viost" = 0e onclick="code=i" > viost" < onclick="code=AF_MAX" > vAF_MAXost"e onclick="code=i" > viost"++) Prefs t525ost" onclick="code=rcu_araign_pointer > vrcu_traign_pointerost"( onclick="code= Pretal3> vrPretal3> viost"], Prefs t526ost" & onclick="code= Prefs vrPrefs Prefs t527ost" } Prefs t528ost" Prefs t529ost" onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost"++e Prefs t530ost" x_looku0e Prefs t531ost"} Prefs t532ost" Prefs t533ost"void onclick="code= Prefs vrPrefs vretost" * onclick="code= > vretost") Prefs t534ost"{ Prefs t535ost" unaigned int onclick="code=i" > viost"e Prefs t536ost" ="ruct onclick="code= Pr> vrPr> vpnost" = onclick="code=nPretal4> vrPretal4> vretost", Prefs t537ost" & onclick="code= Prefs vrPrefs Prefs t538ost" Prefs t539ost" onclick="code=p " > vpnost"-"+senonclick="code=users" > vusersost"--e Prefs t540ost" onclick="code=rPretal4> vrPretal4> vretost", Prefs t541ost" onclick="code=p " > vpnost", Prefs t542ost" & onclick="code= Prefs vrPrefs Prefs t543ost" if ( onclick="code= > vretost" == & onclick="code=init_();" > vinit_();ost") { Prefs t544ost" nf_conntrackcommen> /* free l3> Prefs t545ost" for ( onclick="code=i" > viost" = 0e onclick="code=i" > viost" < onclick="code=PF_MAX" > vPF_MAXost"e onclick="code=i" > viost"++) Prefs t546ost" onclick="code=kfree" > vkfreeost"( onclick="code= Preta> vrPreta> viost"])e Prefs t547ost" } Prefs t548ost"} Prefs t549ost"
The original LXR software by the jects/lxr >LXR communityost", this experimen>al version by o:lxr@_inux.no">lxr@_inux.noost". lxr._inux.no kindly hosted by .no">Redpill Lin> ASost", > vider of Linux efssulting and op ations services since 1995.