mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	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…
	
	Add table
		
		Reference in a new issue