Commit be9258a6 authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton
Browse files

mm/madvise: remove len parameter of madvise_do_behavior()

Because madise_should_skip() logic is factored out, making
madvise_do_behavior() calculates 'len' on its own rather then receiving it
as a parameter makes code simpler.  Remove the parameter.

Link: https://lkml.kernel.org/r/20250312164750.59215-5-sj@kernel.org


Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
Reviewed-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: default avatarShakeel Butt <shakeel.butt@linux.dev>
Cc: David Hildenbrand <david@redhat.com>
Cc: Liam R. Howlett <howlett@gmail.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 0a6ffacb
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -1677,7 +1677,7 @@ static bool is_madvise_populate(int behavior)
}

static int madvise_do_behavior(struct mm_struct *mm,
		unsigned long start, size_t len_in, size_t len, int behavior)
		unsigned long start, size_t len_in, int behavior)
{
	struct blk_plug plug;
	unsigned long end;
@@ -1686,7 +1686,7 @@ static int madvise_do_behavior(struct mm_struct *mm,
	if (is_memory_failure(behavior))
		return madvise_inject_error(behavior, start, start + len_in);
	start = untagged_addr_remote(mm, start);
	end = start + len;
	end = start + PAGE_ALIGN(len_in);

	blk_start_plug(&plug);
	if (is_madvise_populate(behavior))
@@ -1779,8 +1779,7 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh
	error = madvise_lock(mm, behavior);
	if (error)
		return error;
	error = madvise_do_behavior(mm, start, len_in, PAGE_ALIGN(len_in),
			behavior);
	error = madvise_do_behavior(mm, start, len_in, behavior);
	madvise_unlock(mm, behavior);

	return error;
@@ -1812,8 +1811,7 @@ static ssize_t vector_madvise(struct mm_struct *mm, struct iov_iter *iter,
		if (madvise_should_skip(start, len_in, behavior, &error))
			ret = error;
		else
			ret = madvise_do_behavior(mm, start, len_in,
					PAGE_ALIGN(len_in), behavior);
			ret = madvise_do_behavior(mm, start, len_in, behavior);
		/*
		 * An madvise operation is attempting to restart the syscall,
		 * but we cannot proceed as it would not be correct to repeat