No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Greg Kroah-Hartman b32c2be887 ANDROID: GKI: api preservation of struct inet_connection_sock
Commit f7020c437e ("tcp: fix TCP_USER_TIMEOUT with zero window")
added an additional variable to the struct inet_connection_sock
structure.  To work around that, let's keep the same exact size for this
internal structure (no one outside of the networking core sees it), by
adding a GENKSYMS build barrier and making the enabled variable only be
1 bit instead of a full integer (change is landing upstream at the
moment, so this change is ok to do.)

However, libabigal knows we are being too smart for our britches and
rightfully complains about the shenanigans happening, with the following
report:

Functions changes summary: 0 Removed, 2 Changed (1668 filtered out), 0 Added functions
Variables changes summary: 0 Removed, 0 Changed (19 filtered out), 0 Added variables

2 functions with some indirect sub-type change:

  [C] 'function int inet_sk_diag_fill(sock*, inet_connection_sock*, sk_buff*, const inet_diag_req_v2*, user_namespace*, unsigned int, unsigned int, unsigned short int, const nlmsghdr*, bool)' at inet_diag.h:39:1 has some indirect sub-type changes:
    parameter 2 of type 'inet_connection_sock*' has sub-type changes:
      in pointed to type 'struct inet_connection_sock' at inet_connection_sock.h:89:1:
        type size hasn't changed
        1 data member insertion:
          'u32 inet_connection_sock::icsk_probes_tstamp', at offset 11008 (in bits) at inet_connection_sock.h:151:1
        1 data member changes (7 filtered):
          type of 'struct {int enabled; int search_high; int search_low; int probe_size; u32 probe_timestamp;} inet_connection_sock::icsk_mtup' changed:
            type size changed from 160 to 128 (in bits)
            5 data member changes:
              'int enabled' offset changed from 0 to 31 (in bits) (by +31 bits)
              'int search_high' offset changed from 32 to 0 (in bits) (by -32 bits)
              'int search_low' offset changed from 64 to 32 (in bits) (by -32 bits)
              'int probe_size' offset changed from 96 to 64 (in bits) (by -32 bits)
              'u32 probe_timestamp' offset changed from 128 to 96 (in bits) (by -32 bits)

  [C] 'function unsigned int tcp_slow_start(tcp_sock*, unsigned int)' at tcp.h:1090:1 has some indirect sub-type changes:
    parameter 1 of type 'tcp_sock*' has sub-type changes:
      in pointed to type 'struct tcp_sock' at tcp.h:138:1:
        type size hasn't changed
        1 data member changes (1 filtered):
          'inet_connection_sock tcp_sock::inet_conn' has *some* difference - please report as a bug

This internal structure is never touched by any code outside of the
networking core, so it is "safe" to change fields, but not the size as
the structure is embedded in other things that touch the abi.

With this change, update the .xml file to reflect this new change.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Matthias Männich <maennich@google.com>
Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3f884413d44ab83c676bee2855e235ea8cc7f4b0
2021-01-29 10:41:10 +01:00
android ANDROID: GKI: api preservation of struct inet_connection_sock 2021-01-29 10:41:10 +01:00
arch Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
block This is the 5.4.91 stable release 2021-01-19 18:51:10 +01:00
certs
crypto This is the 5.4.89 stable release 2021-01-14 16:06:22 +01:00
Documentation Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
drivers Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
fs Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
include ANDROID: GKI: api preservation of struct inet_connection_sock 2021-01-29 10:41:10 +01:00
init Revert "exec: Add exec_update_mutex to replace cred_guard_mutex" 2021-01-11 14:35:30 +01:00
ipc
kernel Merge branch 'android11-5.4' into 'android11-5.4-lts' 2021-01-27 11:51:41 +01:00
lib This is the 5.4.91 stable release 2021-01-19 18:51:10 +01:00
LICENSES
mm Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
net Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
samples This is the 5.4.86 stable release 2020-12-30 12:31:14 +01:00
scripts This is the 5.4.89 stable release 2021-01-14 16:06:22 +01:00
security This is the 5.4.91 stable release 2021-01-19 18:51:10 +01:00
sound Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
tools Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
usr
virt kvm: check tlbs_dirty directly 2021-01-12 20:16:22 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
build.config.aarch64
build.config.allmodconfig
build.config.allmodconfig.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.allmodconfig.arm ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.allmodconfig.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.arm
build.config.common ANDROID: Update the KMI_GENERATION after KMI changes on October 31 2020-10-31 12:37:57 +01:00
build.config.db845c ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki
build.config.gki-debug.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki-debug.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki.aarch64 ANDROID: GKI: Add Sony KMI symbol list 2021-01-08 10:14:50 +09:00
build.config.gki.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki_kasan ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki_kasan.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.gki_kasan.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.hikey960 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 14:50:31 +08:00
build.config.x86_64
COPYING
CREDITS
Kbuild
Kconfig UPSTREAM: kbuild: ensure full rebuild when the compiler is updated 2020-09-24 10:02:38 +00:00
MAINTAINERS
Makefile Merge 5.4.93 into android11-5.4-lts 2021-01-29 10:19:54 +01:00
README
README.md

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass script/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry-picked from ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry-picked from ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry-picked from c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [ Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
    - then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)