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..