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

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

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-01-07 01:50:16
Also in: linux-mm, lkml

On Wed, 6 Jan 2021 17:03:48 -0800 Linus Torvalds wrote:
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.
Thanks for the detailed analysis! skb_gro_reset_offset() checks if
kernel can read data in the fragments directly as an optimization, 
in case the entire header is in a fragment. 

IIUC DEBUG_KMAP_LOCAL_FORCE_MAP only affects the mappings from
explicit kmap calls, which GRO won't make - it will fall back to
pulling the header out of the fragment and end up in skb_copy_bits(),
i.e. the loop you fixed. So GRO should be good. I think..
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help