Commit c5f1ac5e authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'powerpc-5.0-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fix from Michael Ellerman:
 "Just one fix, for pgd/pud_present() which were broken on big endian
  since v4.20, leading to possible data corruption.

  Thanks to: Aneesh Kumar K.V., Erhard F., Jan Kara"

* tag 'powerpc-5.0-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/64s: Fix possible corruption on big endian due to pgd/pud_present()
parents 0513ebc3 a5800762
...@@ -904,7 +904,7 @@ static inline int pud_none(pud_t pud) ...@@ -904,7 +904,7 @@ static inline int pud_none(pud_t pud)
static inline int pud_present(pud_t pud) static inline int pud_present(pud_t pud)
{ {
return (pud_raw(pud) & cpu_to_be64(_PAGE_PRESENT)); return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PRESENT));
} }
extern struct page *pud_page(pud_t pud); extern struct page *pud_page(pud_t pud);
...@@ -951,7 +951,7 @@ static inline int pgd_none(pgd_t pgd) ...@@ -951,7 +951,7 @@ static inline int pgd_none(pgd_t pgd)
static inline int pgd_present(pgd_t pgd) static inline int pgd_present(pgd_t pgd)
{ {
return (pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT)); return !!(pgd_raw(pgd) & cpu_to_be64(_PAGE_PRESENT));
} }
static inline pte_t pgd_pte(pgd_t pgd) static inline pte_t pgd_pte(pgd_t pgd)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment