Skip to content
Snippets Groups Projects
  1. Feb 10, 2023
  2. Feb 09, 2023
    • Greg Kroah-Hartman's avatar
      ANDROID: fix up struct task_struct ABI change in 5.10.162 · bb12156e
      Greg Kroah-Hartman authored
      
      In commit 76050cdc ("UPSTREAM: io_uring: import 5.15-stable
      io_uring"), a new field was added to struct task_struct.  Move it to the
      proper location and macro in order to preserve the kernel ABI.
      
      Because of this preservation, the .xml file also is updated:
      
      type 'struct task_struct' changed
        member 'union { void* pf_io_worker; struct { u64 android_kabi_reserved1; }; union { }; }' was added
        member 'u64 android_kabi_reserved1' was removed
      
      Bug: 161946584
      Bug: 268174392
      Fixes: 76050cdc ("UPSTREAM: io_uring: import 5.15-stable io_uring")
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      Change-Id: Ib2f65b7c1a973794b7ab525a9304f666ffebc9ee
      bb12156e
    • Greg Kroah-Hartman's avatar
      ANDROID: struct io_uring ABI preservation hack for 5.10.162 changes · 302ed29f
      Greg Kroah-Hartman authored
      
      In the 5.10.162 release, the io_uring code was synced with the version
      that is in the 5.15.y kernel tree in order to resolve a huge number of
      potential, and known, problems with the codebase.  This makes for a more
      secure and easier-to-update-and-maintain 5.10.y kernel tree, so this is
      a great thing, however this caused some issues when it comes to the
      Android KABI preservation and checking tools.
      
      A number of the io_uring structures get used in other core kernel
      structures, only as "opaque" pointers, so there is not any real ABI
      breakage.  But, due to the visibility of the structures going away, the
      CRC values of many scheduler variables and functions were changed.
      
      In order to preserve the CRC values, to prevent all device kernels to be
      forced to rebuild for no reason whatsoever from a functional point of
      view, we need to keep around the "old" io_uring structures for the CRC
      calculation only.  This is done by the following definitions of struct
      io_identity and struct io_uring_task which will only be visible when the
      CRC calculation build happens, not in any functional kernel build.
      
      Yes, this all is a horrible hack, and these really are not the true
      structures that any code uses, but so life is in the world of stable
      apis.
      
      Bug: 161946584
      Bug: 268174392
      Fixes: 76050cdc ("UPSTREAM: io_uring: import 5.15-stable io_uring")
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      Change-Id: I2294f220ae78fe9aa32ee25b81829ae765e9deb2
      302ed29f
    • Greg Kroah-Hartman's avatar
      ANDROID: add flags variable back to struct proto_ops · d2c5262f
      Greg Kroah-Hartman authored
      
      In commit a2b8beeb ("UPSTREAM: net: remove cmsg restriction from
      io_uring based send/recvmsg calls") the flags variable was removed from
      struct proto_ops as it is no longer needed.
      
      But the ABI signatures break, so put it back to preserve this, there's
      no functional change here.
      
      Bug: 161946584
      Bug: 268174392
      Fixes: a2b8beeb ("UPSTREAM: net: remove cmsg restriction from io_uring based send/recvmsg calls")
      Change-Id: Ic6a868f038701a61c993e18b44cdd8ec8b0a4d58
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
      d2c5262f
  3. Feb 08, 2023
Loading