• Linus Torvalds's avatar
    Merge branch 'gup_flag-cleanups' · 63ae602c
    Linus Torvalds authored
    Merge the gup_flags cleanups from Lorenzo Stoakes:
     "This patch series adjusts functions in the get_user_pages* family such
      that desired FOLL_* flags are passed as an argument rather than
      implied by flags.
    
      The purpose of this change is to make the use of FOLL_FORCE explicit
      so it is easier to grep for and clearer to callers that this flag is
      being used.  The use of FOLL_FORCE is an issue as it overrides missing
      VM_READ/VM_WRITE flags for the VMA whose pages we are reading
      from/writing to, which can result in surprising behaviour.
    
      The patch series came out of the discussion around commit 38e08854
      ("mm: check VMA flags to avoid invalid PROT_NONE NUMA balancing"),
      which addressed a BUG_ON() being triggered when a page was faulted in
      with PROT_NONE set but having been overridden by FOLL_FORCE.
      do_numa_page() was run on the assumption the page _must_ be one marked
      for NUMA node migration as an actual PROT_NONE page would have been
      dealt with prior to this code path, however FOLL_FORCE introduced a
      situation where this assumption did not hold.
    
      See
    
          https://marc.info/?l=linux-mm&m=147585445805166
    
      for the patch proposal"
    
    Additionally, there's a fix for an ancient bug related to FOLL_FORCE and
    FOLL_WRITE by me.
    
    [ This branch was rebased recently to add a few more acked-by's and
      reviewed-by's ]
    
    * gup_flag-cleanups:
      mm: replace access_process_vm() write parameter with gup_flags
      mm: replace access_remote_vm() write parameter with gup_flags
      mm: replace __access_remote_vm() write parameter with gup_flags
      mm: replace get_user_pages_remote() write/force parameters with gup_flags
      mm: replace get_user_pages() write/force parameters with gup_flags
      mm: replace get_vaddr_frames() write/force parameters with gup_flags
      mm: replace get_user_pages_locked() write/force parameters with gup_flags
      mm: replace get_user_pages_unlocked() write/force parameters with gup_flags
      mm: remove write/force parameters from __get_user_pages_unlocked()
      mm: remove write/force parameters from __get_user_pages_locked()
      mm: remove gup_flags FOLL_WRITE games from __get_user_pages()
    63ae602c
Name
Last commit
Last update
..
6lowpan Loading commit data...
802 Loading commit data...
8021q Loading commit data...
9p Loading commit data...
appletalk Loading commit data...
atm Loading commit data...
ax25 Loading commit data...
batman-adv Loading commit data...
bluetooth Loading commit data...
bridge Loading commit data...
caif Loading commit data...
can Loading commit data...
ceph Loading commit data...
core Loading commit data...
dcb Loading commit data...
dccp Loading commit data...
decnet Loading commit data...
dns_resolver Loading commit data...
dsa Loading commit data...
ethernet Loading commit data...
hsr Loading commit data...
ieee802154 Loading commit data...
ipv4 Loading commit data...
ipv6 Loading commit data...
ipx Loading commit data...
irda Loading commit data...
iucv Loading commit data...
kcm Loading commit data...
key Loading commit data...
l2tp Loading commit data...
l3mdev Loading commit data...
lapb Loading commit data...
llc Loading commit data...
mac80211 Loading commit data...
mac802154 Loading commit data...
mpls Loading commit data...
ncsi Loading commit data...
netfilter Loading commit data...
netlabel Loading commit data...
netlink Loading commit data...
netrom Loading commit data...
nfc Loading commit data...
openvswitch Loading commit data...
packet Loading commit data...
phonet Loading commit data...
qrtr Loading commit data...
rds Loading commit data...
rfkill Loading commit data...
rose Loading commit data...
rxrpc Loading commit data...
sched Loading commit data...
sctp Loading commit data...
strparser Loading commit data...
sunrpc Loading commit data...
switchdev Loading commit data...
tipc Loading commit data...
unix Loading commit data...
vmw_vsock Loading commit data...
wimax Loading commit data...
wireless Loading commit data...
x25 Loading commit data...
xfrm Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...
compat.c Loading commit data...
socket.c Loading commit data...
sysctl_net.c Loading commit data...