diff options
Diffstat (limited to 'arch/s390/mm/pgtable.c')
| -rw-r--r-- | arch/s390/mm/pgtable.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 0c719c61972..e1850c28cd6 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c @@ -336,7 +336,8 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)  	page->flags ^= bits;  	if (page->flags & FRAG_MASK) {  		/* Page now has some free pgtable fragments. */ -		list_move(&page->lru, &mm->context.pgtable_list); +		if (!list_empty(&page->lru)) +			list_move(&page->lru, &mm->context.pgtable_list);  		page = NULL;  	} else  		/* All fragments of the 4K page have been freed. */  |