Thread (40 messages) flat view 40 messages, 9 authors, 2021-01-07

Re: [BUG] from x86: Support kmap_local() forced debugging

From: Willem de Bruijn <willemb@google.com>
Date: 2021-01-07 04:46:34
Also in: lkml, netdev

On Wed, Jan 6, 2021 at 9:11 PM Willem de Bruijn [off-list ref] wrote:
On Wed, Jan 6, 2021 at 8:49 PM Jakub Kicinski [off-list ref] wrote:
quoted
On Wed, 6 Jan 2021 17:03:48 -0800 Linus Torvalds wrote:
quoted
I wonder whether there is other code that "knows" about kmap() only
affecting PageHighmem() pages thing that is no longer true.

Looking at some other code, skb_gro_reset_offset() looks suspiciously
like it also thinks highmem pages are special.

Adding the networking people involved in this area to the cc too.
But there are three other kmap_atomic callers under net/ that do not
loop at all, so assume non-compound pages. In esp_output_head,
esp6_output_head and skb_seq_read. The first two directly use
skb_page_frag_refill, which can allocate compound (but not
__GFP_HIGHMEM) pages, and the third can be inserted with
netfilter xt_string in the path of tcp transmit skbs, which can also
have compound pages. I think that these could similarly access
data beyond the end of the kmap_atomic mapped page. I'll take
a closer look.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help