Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 965cdea8 authored by Wang Weidong's avatar Wang Weidong Committed by David S. Miller
Browse files

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: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: default avatarWang Weidong <wangweidong1@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b1aca94e
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -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;