]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
binder: fix max_thread type inconsistency
authorCarlos Llamas <cmllamas@google.com>
Sun, 21 Apr 2024 17:37:49 +0000 (17:37 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 May 2024 14:20:18 +0000 (16:20 +0200)
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: a9350fc859ae ("staging: android: binder: fix BINDER_SET_MAX_THREADS declaration")
Reported-by: Arve Hjønnevåg <arve@android.com>
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240421173750.3117808-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/android/binder.c
drivers/android/binder_internal.h

index 11d65e23f1b61d2f8531a2bc1412e935959c7129..3abd5619a9e6fd0eb417ee0b549fe7a7a829899e 100644 (file)
@@ -5165,7 +5165,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))) {
index 1ade9799c8d5820378f12de4a12296a482ce35cd..da9ead1cff6f537586e4dc0841605680a8dbf858 100644 (file)
@@ -420,7 +420,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;