UPSTREAM: mm: Add PAGE_ALIGN_DOWN macro

This is just the same as PAGE_ALIGN(), but rounds the address down, not
up.

Suggested-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: David Gow <davidgow@google.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
Bug: 254721825
(cherry picked from commit 335e52c28cf9954d65b819cb68912fd32de3c844)
Change-Id: I33bebcffbe4af3937e00243228b71d531b56e89d
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
This commit is contained in:
David Gow
2022-07-01 17:16:19 +08:00
committed by Andrey Konovalov
parent 2f0d251c42
commit c920e7ddef

View File

@@ -234,6 +234,9 @@ int __add_to_page_cache_locked(struct page *page, struct address_space *mapping,
/* to align the pointer to the (next) page boundary */
#define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
/* to align the pointer to the (prev) page boundary */
#define PAGE_ALIGN_DOWN(addr) ALIGN_DOWN(addr, PAGE_SIZE)
/* test whether an address (unsigned long or pointer) is aligned to PAGE_SIZE */
#define PAGE_ALIGNED(addr) IS_ALIGNED((unsigned long)(addr), PAGE_SIZE)