+ include-mm-adding-new-inline-function-vmf_error.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     Subject: include/linux/mm.h: add new inline function vmf_error()
has been added to the -mm tree.  Its filename is
     include-mm-adding-new-inline-function-vmf_error.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/include-mm-adding-new-inline-function-vmf_error.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/include-mm-adding-new-inline-function-vmf_error.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: Souptick Joarder <jrdr.linux@xxxxxxxxx>
Subject: include/linux/mm.h: add new inline function vmf_error()

Many places in drivers/ file systems, error was handled in a common way
like below:

	ret = (ret == -ENOMEM) ? VM_FAULT_OOM : VM_FAULT_SIGBUS;

vmf_error() will replace this and return vm_fault_t type err.

A lot of drivers and filesystems currently have a rather complex mapping
of errno-to-VM_FAULT code.  We have been able to eliminate a lot of it by
just returning VM_FAULT codes directly from functions which are called
exclusively from the fault handling path.

Some functions can be called both from the fault handler and other context
which are expecting an errno, so they have to continue to return an errno.
Some users still need to choose different behaviour for different errnos,
but vmf_error() captures the essential error translation that's common to
all users, and those that need to handle additional errors can handle them
first.

Link: http://lkml.kernel.org/r/20180510174826.GA14268@jordon-HP-15-Notebook-PC
Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
Reviewed-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 include/linux/mm.h |    7 +++++++
 1 file changed, 7 insertions(+)

diff -puN include/linux/mm.h~include-mm-adding-new-inline-function-vmf_error include/linux/mm.h
--- a/include/linux/mm.h~include-mm-adding-new-inline-function-vmf_error
+++ a/include/linux/mm.h
@@ -2466,6 +2466,13 @@ static inline vm_fault_t vmf_insert_pfn(
 	return VM_FAULT_NOPAGE;
 }
 
+static inline vm_fault_t vmf_error(int err)
+{
+	if (err == -ENOMEM)
+		return VM_FAULT_OOM;
+	return VM_FAULT_SIGBUS;
+}
+
 struct page *follow_page_mask(struct vm_area_struct *vma,
 			      unsigned long address, unsigned int foll_flags,
 			      unsigned int *page_mask);
_

Patches currently in -mm which might be from jrdr.linux@xxxxxxxxx are

include-mm-adding-new-inline-function-vmf_error.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux