linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] return EINVAL for illegal user memory range
@ 2022-12-05  3:41 Wupeng Ma
  2022-12-05  3:41 ` [PATCH 1/4] mm/mlock: return EINVAL for illegal user memory range in mlock Wupeng Ma
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Wupeng Ma @ 2022-12-05  3:41 UTC (permalink / raw)
  To: akpm
  Cc: linux-mm, linux-kernel, mawupeng1, kuleshovmail, aneesh.kumar, clameter

From: Ma Wupeng <mawupeng1@huawei.com>

While testing mlock, we have a problem if the len of mlock is ULONG_MAX.
The return value of mlock is zero. But nothing will be locked since the
len in do_mlock overflows to zero due to the following code in mlock:

  len = PAGE_ALIGN(len + (offset_in_page(start)));

However this problem appear in multiple syscalls.

Since TASK_SIZE is the maximum user space address. The start or len of
mlock shouldn't be bigger than this. Function access_ok can be used to
check this issue, so return -EINVAL if bigger.

Ma Wupeng (4):
  mm/mlock: return EINVAL for illegal user memory range in mlock
  mm/mempolicy: return EINVAL for illegal user memory range for
    set_mempolicy_home_node
  mm/mempolicy: return EINVAL for illegal user memory range for mbind
  mm/msync: return EINVAL for illegal user memory range for msync

 mm/mempolicy.c | 7 +++++++
 mm/mlock.c     | 6 ++++++
 mm/msync.c     | 2 ++
 3 files changed, 15 insertions(+)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-01-04  9:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-05  3:41 [PATCH 0/4] return EINVAL for illegal user memory range Wupeng Ma
2022-12-05  3:41 ` [PATCH 1/4] mm/mlock: return EINVAL for illegal user memory range in mlock Wupeng Ma
2022-12-10  3:09   ` mawupeng
2022-12-28 22:17   ` Andrew Morton
2022-12-29  7:48     ` mawupeng
2022-12-05  3:41 ` [PATCH 2/4] mm/mempolicy: return EINVAL for illegal user memory range for set_mempolicy_home_node Wupeng Ma
2022-12-05  3:41 ` [PATCH 3/4] mm/mempolicy: return EINVAL for illegal user memory range for mbind Wupeng Ma
2022-12-05  3:41 ` [PATCH 4/4] mm/msync: return EINVAL for illegal user memory range for msync Wupeng Ma
2022-12-27  7:18 ` [PATCH 0/4] return EINVAL for illegal user memory range mawupeng
2023-01-02 13:22 ` David Hildenbrand
2023-01-04  9:32   ` mawupeng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox