Searched hist:dfa758638fd2d1184760deb2693abf76e982c53a (Results 1 – 1 of 1) sorted by relevance
/linux/arch/s390/mm/ |
H A D | pgalloc.c | diff dfa758638fd2d1184760deb2693abf76e982c53a Fri Jun 29 19:54:01 CEST 2018 Eric Farman <farman@linux.ibm.com> s390/mm: fix refcount usage for 4K pgste
s390 no longer uses the _mapcount field in struct page to identify the page table format being used. While the code was diligent in handling the different mappings, it neglected to turn "off" the map bits when alloc_pgste was being used. This resulted in bits remaining "on" in the _refcount field, and thus an artifically huge "in use" count that prevents the pages from actually being released by __free_page.
There's opportunity for improvement in the "1 vs 3" vs "1U vs 3U" vs "0x1 vs 0x11" etc. variations for all these calls, I am just keeping things simple compared to neighboring code.
Fixes: 620b4e903179 ("s390: use _refcount for pgtables") Reported-by: Halil Pasic <pasic@linux.ibm.com> Bisected-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Eric Farman <farman@linux.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|