Merge d652502ef4 Merge tag 'ovl-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into android-mainline
A tiny step en route to v5.13-rc1 Signed-off-by: Lee Jones <lee.jones@linaro.org> Change-Id: I049e80976042ebffc90bb080f09da0afcfd48d77
This commit is contained in:
@@ -432,8 +432,7 @@ extern unsigned int kobjsize(const void *objp);
|
||||
extern pgprot_t protection_map[16];
|
||||
|
||||
/**
|
||||
* Fault flag definitions.
|
||||
*
|
||||
* enum fault_flag - Fault flag definitions.
|
||||
* @FAULT_FLAG_WRITE: Fault was a write fault.
|
||||
* @FAULT_FLAG_MKWRITE: Fault was mkwrite of existing PTE.
|
||||
* @FAULT_FLAG_ALLOW_RETRY: Allow to retry the fault if blocked.
|
||||
@@ -464,16 +463,18 @@ extern pgprot_t protection_map[16];
|
||||
* signals before a retry to make sure the continuous page faults can still be
|
||||
* interrupted if necessary.
|
||||
*/
|
||||
#define FAULT_FLAG_WRITE 0x01
|
||||
#define FAULT_FLAG_MKWRITE 0x02
|
||||
#define FAULT_FLAG_ALLOW_RETRY 0x04
|
||||
#define FAULT_FLAG_RETRY_NOWAIT 0x08
|
||||
#define FAULT_FLAG_KILLABLE 0x10
|
||||
#define FAULT_FLAG_TRIED 0x20
|
||||
#define FAULT_FLAG_USER 0x40
|
||||
#define FAULT_FLAG_REMOTE 0x80
|
||||
#define FAULT_FLAG_INSTRUCTION 0x100
|
||||
#define FAULT_FLAG_INTERRUPTIBLE 0x200
|
||||
enum fault_flag {
|
||||
FAULT_FLAG_WRITE = 1 << 0,
|
||||
FAULT_FLAG_MKWRITE = 1 << 1,
|
||||
FAULT_FLAG_ALLOW_RETRY = 1 << 2,
|
||||
FAULT_FLAG_RETRY_NOWAIT = 1 << 3,
|
||||
FAULT_FLAG_KILLABLE = 1 << 4,
|
||||
FAULT_FLAG_TRIED = 1 << 5,
|
||||
FAULT_FLAG_USER = 1 << 6,
|
||||
FAULT_FLAG_REMOTE = 1 << 7,
|
||||
FAULT_FLAG_INSTRUCTION = 1 << 8,
|
||||
FAULT_FLAG_INTERRUPTIBLE = 1 << 9,
|
||||
};
|
||||
|
||||
/*
|
||||
* The default fault flags that should be used by most of the
|
||||
@@ -485,6 +486,7 @@ extern pgprot_t protection_map[16];
|
||||
|
||||
/**
|
||||
* fault_flag_allow_retry_first - check ALLOW_RETRY the first time
|
||||
* @flags: Fault flags.
|
||||
*
|
||||
* This is mostly used for places where we want to try to avoid taking
|
||||
* the mmap_lock for too long a time when waiting for another condition
|
||||
@@ -495,7 +497,7 @@ extern pgprot_t protection_map[16];
|
||||
* Return: true if the page fault allows retry and this is the first
|
||||
* attempt of the fault handling; false otherwise.
|
||||
*/
|
||||
static inline bool fault_flag_allow_retry_first(unsigned int flags)
|
||||
static inline bool fault_flag_allow_retry_first(enum fault_flag flags)
|
||||
{
|
||||
return (flags & FAULT_FLAG_ALLOW_RETRY) &&
|
||||
(!(flags & FAULT_FLAG_TRIED));
|
||||
@@ -530,7 +532,7 @@ struct vm_fault {
|
||||
pgoff_t pgoff; /* Logical page offset based on vma */
|
||||
unsigned long address; /* Faulting virtual address */
|
||||
};
|
||||
unsigned int flags; /* FAULT_FLAG_xxx flags
|
||||
enum fault_flag flags; /* FAULT_FLAG_xxx flags
|
||||
* XXX: should really be 'const' */
|
||||
pmd_t *pmd; /* Pointer to pmd entry matching
|
||||
* the 'address' */
|
||||
@@ -580,7 +582,7 @@ struct vm_operations_struct {
|
||||
void (*close)(struct vm_area_struct * area);
|
||||
/* Called any time before splitting to check if it's allowed */
|
||||
int (*may_split)(struct vm_area_struct *area, unsigned long addr);
|
||||
int (*mremap)(struct vm_area_struct *area, unsigned long flags);
|
||||
int (*mremap)(struct vm_area_struct *area);
|
||||
/*
|
||||
* Called by mprotect() to make driver-specific permission
|
||||
* checks before mprotect() is finalised. The VMA must not
|
||||
@@ -1265,13 +1267,16 @@ static inline void put_page(struct page *page)
|
||||
void unpin_user_page(struct page *page);
|
||||
void unpin_user_pages_dirty_lock(struct page **pages, unsigned long npages,
|
||||
bool make_dirty);
|
||||
void unpin_user_page_range_dirty_lock(struct page *page, unsigned long npages,
|
||||
bool make_dirty);
|
||||
void unpin_user_pages(struct page **pages, unsigned long npages);
|
||||
|
||||
/**
|
||||
* page_maybe_dma_pinned() - report if a page is pinned for DMA.
|
||||
* page_maybe_dma_pinned - Report if a page is pinned for DMA.
|
||||
* @page: The page.
|
||||
*
|
||||
* This function checks if a page has been pinned via a call to
|
||||
* pin_user_pages*().
|
||||
* a function in the pin_user_pages() family.
|
||||
*
|
||||
* For non-huge pages, the return value is partially fuzzy: false is not fuzzy,
|
||||
* because it means "definitely not pinned for DMA", but true means "probably
|
||||
@@ -1289,9 +1294,8 @@ void unpin_user_pages(struct page **pages, unsigned long npages);
|
||||
*
|
||||
* For more information, please see Documentation/core-api/pin_user_pages.rst.
|
||||
*
|
||||
* @page: pointer to page to be queried.
|
||||
* @Return: True, if it is likely that the page has been "dma-pinned".
|
||||
* False, if the page is definitely not dma-pinned.
|
||||
* Return: True, if it is likely that the page has been "dma-pinned".
|
||||
* False, if the page is definitely not dma-pinned.
|
||||
*/
|
||||
static inline bool page_maybe_dma_pinned(struct page *page)
|
||||
{
|
||||
@@ -1629,7 +1633,6 @@ static inline pgoff_t page_index(struct page *page)
|
||||
|
||||
bool page_mapped(struct page *page);
|
||||
struct address_space *page_mapping(struct page *page);
|
||||
struct address_space *page_mapping_file(struct page *page);
|
||||
|
||||
/*
|
||||
* Return true only if the page has been allocated with
|
||||
@@ -2358,7 +2361,7 @@ extern unsigned long free_reserved_area(void *start, void *end,
|
||||
int poison, const char *s);
|
||||
|
||||
extern void adjust_managed_page_count(struct page *page, long count);
|
||||
extern void mem_init_print_info(const char *str);
|
||||
extern void mem_init_print_info(void);
|
||||
|
||||
extern void reserve_bootmem_region(phys_addr_t start, phys_addr_t end);
|
||||
|
||||
@@ -2732,6 +2735,8 @@ unsigned long change_prot_numa(struct vm_area_struct *vma,
|
||||
struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
|
||||
int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
|
||||
unsigned long pfn, unsigned long size, pgprot_t);
|
||||
int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr,
|
||||
unsigned long pfn, unsigned long size, pgprot_t prot);
|
||||
int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
|
||||
int vm_insert_pages(struct vm_area_struct *vma, unsigned long addr,
|
||||
struct page **pages, unsigned long *num);
|
||||
@@ -2791,7 +2796,6 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
|
||||
#define FOLL_NOWAIT 0x20 /* if a disk transfer is needed, start the IO
|
||||
* and return without waiting upon it */
|
||||
#define FOLL_POPULATE 0x40 /* fault in page */
|
||||
#define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */
|
||||
#define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */
|
||||
#define FOLL_NUMA 0x200 /* force NUMA hinting page fault */
|
||||
#define FOLL_MIGRATION 0x400 /* wait for page to replace migration entry */
|
||||
|
||||
Reference in New Issue
Block a user