From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH RFC v2 net-next 08/16] bpf: add hashtable type of BPF maps Date: Wed, 23 Jul 2014 14:42:01 -0700 Message-ID: References: <1405657206-12060-1-git-send-email-ast@plumgrid.com> <1405657206-12060-9-git-send-email-ast@plumgrid.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Kees Cook Cc: "David S. Miller" , Ingo Molnar , Linus Torvalds , Andy Lutomirski , Steven Rostedt , Daniel Borkmann , Chema Gonzalez , Eric Dumazet , Peter Zijlstra , Arnaldo Carvalho de Melo , Jiri Olsa , Thomas Gleixner , "H. Peter Anvin" , Andrew Morton , Linux API , Network Development , LKML List-Id: linux-api@vger.kernel.org On Wed, Jul 23, 2014 at 1:33 PM, Kees Cook wrote: >> >>>> + htab->slab_name = kasprintf(GFP_USER, "bpf_htab_%p", htab); >>> >>> This leaks a kernel heap memory pointer to userspace. If a unique name >>> needed, I think map_id should be used instead. >> >> it leaks, how? slabinfo is only available to root. >> The same code exists in conntrack: >> net/netfilter/nf_conntrack_core.c:1767 > > Right, in extreme cases, there are system configurations where leaking > addresses even to root can be considered a bug. There are a lot of > these situations in the kernel still, that's true. However, if we can > at all avoid it, I'd really like to avoid adding new ones. Nearly all > the cases of using a memory pointer is for uniqueness concerns, but I > think can already get that from the map_id. ok. fair enough. I think slab name doesn't have to be unique anymore. It's used to be a requirement in older kernels. If it is ok to reuse now, I'll just use the same for all hash-type maps. Advice from slab expert would be great...