ANDROID: Fix up KABI breakage in 5.4.151 in struct sock
Commit 35306eb23814 ("af_unix: fix races in sk_peer_pid and sk_peer_cred accesses") was backported to 5.4.151 and it adds a new field to struct sock. We want to keep this commit, so rework it using the reserved fields we have set up for this very issue. However, putting a spinlock_t into a 64bit value breaks when building with some debugging options enabled, so we have to disable them when doing build testing for the allmodconfig builds. In order to do that, the following config options are forced off: DEBUG_SPINLOCK DEBUG_LOCK_ALLOC LOCK_STAT DEBUG_WW_MUTEX_SLOWPATH DEBUG_LOCK_ALLOC PROVE_LOCKING We only really want to disable DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC as those affect the size of spinlock_t, but the other options need to be disabled as well because they try to force on the locking debug config options when selected. Note, this does not affect any device's behavior, those options are only being disabled for the test systems when doing allmodconfig builds. They are not enabled in the normal GKI builds, so all is fine there. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I23df70a6bcbbc9d773e790cdf0377c1c67cdf682
This commit is contained in:
parent
0454b0c925
commit
4659036941
@ -7,6 +7,12 @@ function update_config() {
|
|||||||
-d CPU_BIG_ENDIAN \
|
-d CPU_BIG_ENDIAN \
|
||||||
-d STM \
|
-d STM \
|
||||||
-d TEST_MEMCAT_P \
|
-d TEST_MEMCAT_P \
|
||||||
|
-d DEBUG_SPINLOCK \
|
||||||
|
-d DEBUG_LOCK_ALLOC \
|
||||||
|
-d LOCK_STAT \
|
||||||
|
-d DEBUG_WW_MUTEX_SLOWPATH \
|
||||||
|
-d DEBUG_LOCK_ALLOC \
|
||||||
|
-d PROVE_LOCKING \
|
||||||
-e UNWINDER_FRAME_POINTER \
|
-e UNWINDER_FRAME_POINTER \
|
||||||
|
|
||||||
(cd ${OUT_DIR} && \
|
(cd ${OUT_DIR} && \
|
||||||
|
@ -472,7 +472,6 @@ struct sock {
|
|||||||
u32 sk_ack_backlog;
|
u32 sk_ack_backlog;
|
||||||
u32 sk_max_ack_backlog;
|
u32 sk_max_ack_backlog;
|
||||||
kuid_t sk_uid;
|
kuid_t sk_uid;
|
||||||
spinlock_t sk_peer_lock;
|
|
||||||
struct pid *sk_peer_pid;
|
struct pid *sk_peer_pid;
|
||||||
const struct cred *sk_peer_cred;
|
const struct cred *sk_peer_cred;
|
||||||
|
|
||||||
@ -516,7 +515,7 @@ struct sock {
|
|||||||
#endif
|
#endif
|
||||||
struct rcu_head sk_rcu;
|
struct rcu_head sk_rcu;
|
||||||
|
|
||||||
ANDROID_KABI_RESERVE(1);
|
ANDROID_KABI_USE(1, spinlock_t sk_peer_lock);
|
||||||
ANDROID_KABI_RESERVE(2);
|
ANDROID_KABI_RESERVE(2);
|
||||||
ANDROID_KABI_RESERVE(3);
|
ANDROID_KABI_RESERVE(3);
|
||||||
ANDROID_KABI_RESERVE(4);
|
ANDROID_KABI_RESERVE(4);
|
||||||
|
Loading…
Reference in New Issue
Block a user