|
@@ -152,6 +152,17 @@ 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;
|
|
@@ -163,8 +174,7 @@ static __init int dccpprobe_init(void)
|
|
|
if (!proc_net_fops_create(&init_net, procname, S_IRUSR, &dccpprobe_fops))
|
|
|
goto err0;
|
|
|
|
|
|
- try_then_request_module((ret = register_jprobe(&dccp_send_probe)) == 0,
|
|
|
- "dccp");
|
|
|
+ ret = setup_jprobe();
|
|
|
if (ret)
|
|
|
goto err1;
|
|
|
|