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

Commit 1a31a4a8 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: ctnetlink: fix scheduling while atomic if helper is autoloaded



This patch fixes one scheduling while atomic error:

[  385.565186] ctnetlink v0.93: registering with nfnetlink.
[  385.565349] BUG: scheduling while atomic: lt-expect_creat/16163/0x00000200

It can be triggered with utils/expect_create included in
libnetfilter_conntrack if the FTP helper is not loaded.

Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 81378f72
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1358,12 +1358,15 @@ ctnetlink_create_conntrack(struct net *net, u16 zone,
						    nf_ct_protonum(ct));
		if (helper == NULL) {
			rcu_read_unlock();
			spin_unlock_bh(&nf_conntrack_lock);
#ifdef CONFIG_MODULES
			if (request_module("nfct-helper-%s", helpname) < 0) {
				spin_lock_bh(&nf_conntrack_lock);
				err = -EOPNOTSUPP;
				goto err1;
			}

			spin_lock_bh(&nf_conntrack_lock);
			rcu_read_lock();
			helper = __nf_conntrack_helper_find(helpname,
							    nf_ct_l3num(ct),