[Intel-gfx] [PATCH] mm: Use local variable for swap address space

Summers, Stuart stuart.summers at intel.com
Wed Jun 19 17:07:29 UTC 2019


On Wed, 2019-06-19 at 18:30 +0300, Jani Nikula wrote:
> On Tue, 18 Jun 2019, Stuart Summers <stuart.summers at intel.com> wrote:
> > This addresses the following build error:
> > mm/huge_memory.c: In function ‘__split_huge_page’:
> > mm/huge_memory.c:2506:41: warning: dereferencing ‘void *’ pointer
> >     __xa_store(&swap_address_space(entry)->i_pages,
> >                                          ^~
> > mm/huge_memory.c:2506:41: error: request for member ‘i_pages’ in
> > something not a structure or union
> 
> Did you check under what circumstances it would be a void pointer?

This got things working, but I agree probably needs at least some basic
checks here. I'll rework it.

> 
> Under those circumstances, what do you think will happen runtime
> after
> you've brushed the build error under the carpet?
> 
> Anyway, the patch is against a commit in topic/core-for-CI, not to be
> merged elsewhere.

Ok thanks for the feedback and makes sense. I'll resubmit.

Thanks,
Stuart

> 
> BR,
> Jani.
> 
> 
> 
> > 
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > Signed-off-by: Stuart Summers <stuart.summers at intel.com>
> > ---
> >  mm/huge_memory.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> > index affb2c3667f9..bced5485137b 100644
> > --- a/mm/huge_memory.c
> > +++ b/mm/huge_memory.c
> > @@ -2503,7 +2503,9 @@ static void __split_huge_page(struct page
> > *page, struct list_head *list,
> >  					head + i, 0);
> >  		} else if (PageSwapCache(page)) {
> >  			swp_entry_t entry = { .val = page_private(head
> > + i) };
> > -			__xa_store(&swap_address_space(entry)->i_pages,
> > +			struct address_space *address_space =
> > +				swap_address_space(entry);
> > +			__xa_store(&address_space->i_pages,
> >  				   swp_offset(entry),
> >  				   head + i, 0);
> >  		}
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190619/fa0317d3/attachment.bin>


More information about the Intel-gfx mailing list