• Neil Horman's avatar
    dccp_probe: Fix module load dependencies between dccp and dccp_probe · 38ff3e6b
    Neil Horman authored
    This was just recently reported to me.  When built as modules, the
    dccp_probe module has a silent dependency on the dccp module.  This
    stems from the fact that the module_init routine of dccp_probe
    registers a jprobe on the dccp_sendmsg symbol.  Since the symbol is
    only referenced as a text string (the .symbol_name field in the jprobe
    struct) rather than the address of the symbol itself, depmod never
    picks this dependency up, and so if you load the dccp_probe module
    without the dccp module loaded, the register_jprobe call fails with an
    -EINVAL, and the whole module load fails.
    
    The fix is pretty easy, we can just wrap the register_jprobe call in a
    try_then_request_module call, which forces the dependency to get
    satisfied prior to the probe registration.
    Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
    Acked-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    38ff3e6b
probe.c 4.75 KB