Commit 00918849 authored by Carlos Llamas's avatar Carlos Llamas Committed by ZhangPeng
Browse files

binder: fix max_thread type inconsistency

stable inclusion
from stable-v6.6.32
commit 71df2cb2869da2e43600efe64106ce5682d992c5
bugzilla: https://gitee.com/openeuler/kernel/issues/IA4MGD

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=71df2cb2869da2e43600efe64106ce5682d992c5



--------------------------------

commit 42316941335644a98335f209daafa4c122f28983 upstream.

The type defined for the BINDER_SET_MAX_THREADS ioctl was changed from
size_t to __u32 in order to avoid incompatibility issues between 32 and
64-bit kernels. However, the internal types used to copy from user and
store the value were never updated. Use u32 to fix the inconsistency.

Fixes: a9350fc8 ("staging: android: binder: fix BINDER_SET_MAX_THREADS declaration")
Reported-by: default avatarArve Hjønnevåg <arve@android.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarCarlos Llamas <cmllamas@google.com>
Reviewed-by: default avatarAlice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240421173750.3117808-1-cmllamas@google.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarZhangPeng <zhangpeng362@huawei.com>
parent 863d3d36
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5368,7 +5368,7 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
			goto err;
		break;
	case BINDER_SET_MAX_THREADS: {
		int max_threads;
		u32 max_threads;

		if (copy_from_user(&max_threads, ubuf,
				   sizeof(max_threads))) {
+1 −1
Original line number Diff line number Diff line
@@ -421,7 +421,7 @@ struct binder_proc {
	struct list_head todo;
	struct binder_stats stats;
	struct list_head delivered_death;
	int max_threads;
	u32 max_threads;
	int requested_threads;
	int requested_threads_started;
	int tmp_ref;