Commit db561666 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman Committed by Giuliano Procida
Browse files

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: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 1df77258
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment