Thread (29 messages) 29 messages, 6 authors, 2021-04-19

RE: [PATCH 1/1] mm: Fix struct page layout on 32-bit systems

From: David Laight <hidden>
Date: 2021-04-16 07:32:44
Also in: linux-arm-kernel, linux-mips, linux-mm, lkml, netdev

From: Matthew Wilcox <willy@infradead.org>
Sent: 15 April 2021 23:22

On Thu, Apr 15, 2021 at 09:11:56PM +0000, David Laight wrote:
quoted
Isn't it possible to move the field down one long?
This might require an explicit zero - but this is not a common
code path - the extra write will be noise.
Then it overlaps page->mapping.  See emails passim.
The rules on overlaps make be wonder if every 'long'
should be in its own union.
The comments would need to say when each field is used.
It would, at least, make these errors less common.

That doesn't solve the 64bit dma_addr though.

Actually rather that word-swapping dma_addr on 32bit BE
could you swap over the two fields it overlays with.
That might look messy in the .h, but it doesn't require
an accessor function to do the swap - easily missed.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help