dccp: catch failed request_module call in dccp_probe init
Check the return value of request_module during dccp_probe initialisation, bail out if that call fails. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Wang Weidong <wangweidong1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b1aca94efa
commit
965cdea825
1 changed files with 7 additions and 12 deletions
|
@ -152,17 +152,6 @@ static const struct file_operations dccpprobe_fops = {
|
|||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
static __init int setup_jprobe(void)
|
||||
{
|
||||
int ret = register_jprobe(&dccp_send_probe);
|
||||
|
||||
if (ret) {
|
||||
request_module("dccp");
|
||||
ret = register_jprobe(&dccp_send_probe);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static __init int dccpprobe_init(void)
|
||||
{
|
||||
int ret = -ENOMEM;
|
||||
|
@ -174,7 +163,13 @@ static __init int dccpprobe_init(void)
|
|||
if (!proc_create(procname, S_IRUSR, init_net.proc_net, &dccpprobe_fops))
|
||||
goto err0;
|
||||
|
||||
ret = setup_jprobe();
|
||||
ret = register_jprobe(&dccp_send_probe);
|
||||
if (ret) {
|
||||
ret = request_module("dccp");
|
||||
if (!ret)
|
||||
ret = register_jprobe(&dccp_send_probe);
|
||||
}
|
||||
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue