The {pid,uid}_t fields of struct binder_transaction were recently replaced to use kernel types in commit 169adc2b6b3c ("android/binder.h: add linux/android/binder(fs).h to UAPI compile-test coverage"). However, using __kernel_uid_t here breaks backwards compatibility in architectures using 16-bits for this type, since glibc and some others still expect a 32-bit uid_t. Instead, let's use __kernel_uid32_t which avoids this compatibility problem.
Showing the changes to include/uapi/linux/android (1 of 1 file). Show all
Unified · Split
| @@ -289,7 +289,7 @@ struct binder_transaction_data { · 288 unmodified lines | |||
| 289 | /* General information about the transaction. */ | 289 | /* General information about the transaction. */ |
| 290 | __u32 flags; | 290 | __u32 flags; |
| 291 | __kernel_pid_t sender_pid; | 291 | __kernel_pid_t sender_pid; |
| 292 | __kernel_uid_t sender_euid; | 292 | __kernel_uid32_t sender_euid; |
| 293 | binder_size_t data_size; /* number of bytes of data */ | 293 | binder_size_t data_size; /* number of bytes of data */ |
| 294 | binder_size_t offsets_size; /* number of bytes of offsets */ | 294 | binder_size_t offsets_size; /* number of bytes of offsets */ |
| 295 | 295 | ||