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

Commit 1153e1ec authored by Min Chong's avatar Min Chong Committed by Dennis Cagle
Browse files

netfilter: Change %p to %pK in debug messages



The format specifier %p can leak kernel addresses
while not valuing the kptr_restrict system settings.
Use %pK instead of %p, which also evaluates whether
kptr_restrict is set.

Bug: 31796940
Change-Id: Ia2946d6b493126d68281f97778faf578247f088e
Signed-off-by: default avatarMin Chong <mchong@google.com>
Git-repo: https://android.googlesource.com/kernel/msm


Git-commit: 89220e920f99b7d87c086d6ea250c9f492712c3b
Signed-off-by: default avatarDennis Cagle <d-cagle@codeaurora.org>
parent 6fe43690
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ EXPORT_SYMBOL_GPL(nf_ct_invert_tuple);
static void
clean_from_lists(struct nf_conn *ct)
{
	pr_debug("clean_from_lists(%p)\n", ct);
	pr_debug("clean_from_lists(%pK)\n", ct);
	hlist_nulls_del_rcu(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnnode);
	hlist_nulls_del_rcu(&ct->tuplehash[IP_CT_DIR_REPLY].hnnode);

@@ -301,7 +301,7 @@ destroy_conntrack(struct nf_conntrack *nfct)
	struct list_head *sip_node_save_list;
	void (*delete_entry)(struct nf_conn *ct);

	pr_debug("destroy_conntrack(%p)\n", ct);
	pr_debug("destroy_conntrack(%pK)\n", ct);
	NF_CT_ASSERT(atomic_read(&nfct->use) == 0);
	NF_CT_ASSERT(!timer_pending(&ct->timeout));

@@ -346,7 +346,7 @@ destroy_conntrack(struct nf_conntrack *nfct)
	if (ct->master)
		nf_ct_put(ct->master);

	pr_debug("destroy_conntrack: returning ct=%p to slab\n", ct);
	pr_debug("destroy_conntrack: returning ct=%pK to slab\n", ct);
	nf_conntrack_free(ct);
}

@@ -635,7 +635,7 @@ __nf_conntrack_confirm(struct sk_buff *skb)
	 * confirmed us.
	 */
	NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
	pr_debug("Confirming conntrack %p\n", ct);
	pr_debug("Confirming conntrack %pK\n", ct);
	/* We have to check the DYING flag after unlink to prevent
	 * a race against nf_ct_get_next_corpse() possibly called from
	 * user context, else we insert an already 'dead' hash, blocking
@@ -981,7 +981,7 @@ init_conntrack(struct net *net, struct nf_conn *tmpl,
		spin_lock(&nf_conntrack_expect_lock);
		exp = nf_ct_find_expectation(net, zone, tuple);
		if (exp) {
			pr_debug("conntrack: expectation arrives ct=%p exp=%p\n",
			pr_debug("conntrack: expectation arrives ct=%pK exp=%pK\n",
				 ct, exp);
			/* Welcome, Mr. Bond.  We've been expecting you... */
			__set_bit(IPS_EXPECTED_BIT, &ct->status);
@@ -1074,14 +1074,14 @@ resolve_normal_ct(struct net *net, struct nf_conn *tmpl,
	} else {
		/* Once we've had two way comms, always ESTABLISHED. */
		if (test_bit(IPS_SEEN_REPLY_BIT, &ct->status)) {
			pr_debug("nf_conntrack_in: normal packet for %p\n", ct);
			pr_debug("nf_conntrack_in: normal packet for %pK\n", ct);
			*ctinfo = IP_CT_ESTABLISHED;
		} else if (test_bit(IPS_EXPECTED_BIT, &ct->status)) {
			pr_debug("nf_conntrack_in: related packet for %p\n",
			pr_debug("nf_conntrack_in: related packet for %pK\n",
				 ct);
			*ctinfo = IP_CT_RELATED;
		} else {
			pr_debug("nf_conntrack_in: new packet for %p\n", ct);
			pr_debug("nf_conntrack_in: new packet for %pK\n", ct);
			*ctinfo = IP_CT_NEW;
		}
		*set_reply = 0;
@@ -1223,7 +1223,7 @@ void nf_conntrack_alter_reply(struct nf_conn *ct,
	/* Should be unconfirmed, so not in hash table yet */
	NF_CT_ASSERT(!nf_ct_is_confirmed(ct));

	pr_debug("Altering reply tuple of %p to ", ct);
	pr_debug("Altering reply tuple of %pK to ", ct);
	nf_ct_dump_tuple(newreply);

	ct->tuplehash[IP_CT_DIR_REPLY].tuple = *newreply;
@@ -1800,7 +1800,7 @@ int nf_conntrack_init_net(struct net *net)
	if (!net->ct.stat)
		goto err_pcpu_lists;

	net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%p", net);
	net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%pK", net);
	if (!net->ct.slabname)
		goto err_slabname;