ANDROID: GKI: preserve CRC for struct io_kiocb
In commit 094ba14a ("io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU"), a structure is added as a union for an existing one, which messes with the crc value, but does not change anything in the size of the overall structure: Change-Id: I33fc1b128074c6b2c425377950dfa79173858735 --- a/include/linux/io_uring_types.h +++ b/include/linux/io_uring_types.h @@ -646,8 +646,16 @@ struct io_kiocb { atomic_t refs; bool cancel_seq_set; struct io_task_work io_task_work; - /* for polled requests, i.e. IORING_OP_POLL_ADD and async armed poll */ - struct hlist_node hash_node; + union { + /* + * for polled requests, i.e. IORING_OP_POLL_ADD and async armed + * poll + */ + struct hlist_node hash_node; + + /* for private io_kiocb freeing */ + struct rcu_head rcu_head; + }; /* internal polling, see IORING_FEAT_FAST_POLL */ struct async_poll *apoll; /* opcode allocated if it needs to store data for async defer */ Preserve the "old" crc signature by using ANDROID_KABI_TYPE_STRING() with the signature of the older version before the union addition. Fixes: 094ba14a ("io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU") Change-Id: Iae6727329a361182a8ee69fe2228c342700b72ba Signed-off-by:Greg Kroah-Hartman <gregkh@google.com>
Loading