• Christian Borntraeger's avatar
    [S390] vmemmap: allocate struct pages before 1:1 mapping · a2fd64d6
    Christian Borntraeger authored
    We have seen an oops in an OOM situation, where show_mem tried to
    access the struct page of a dcss segment. The vmemmap code has
    already created the 1:1 mapping but failed allocating the struct
    pages. In the OOM case, show_mem now walks the memory. It uses
    pfn_valid to detect if it may access the struct page. In the case
    described above, the mapping was established and pfn_valid returned
    true. As the struct pages were not allocated, the kernel oopsed.
    
    We have to ensure that we have created the struct pages, before we
    add a mapping pointing to the pages.
    Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    a2fd64d6
vmem.c 8.51 KB