Todd Kjos 9cd2f3498d ANDROID: 4/12/2023 KMI update
Set KMI_GENERATION=4 for 4/12 KMI update

1 function symbol(s) removed
  'int of_mdiobus_register(struct mii_bus*, struct device_node*)'

2 function symbol(s) added
  'void* memremap_pages(struct dev_pagemap*, int)'
  'void memunmap_pages(struct dev_pagemap*)'

function symbol changed from 'bool cfg80211_rx_control_port(struct net_device*, struct sk_buff*, bool)' to 'bool cfg80211_rx_control_port(struct net_device*, struct sk_buff*, bool, int)'
  CRC changed from 0x19c30d56 to 0x70d8333f
  type changed from 'bool(struct net_device*, struct sk_buff*, bool)' to 'bool(struct net_device*, struct sk_buff*, bool, int)'
    parameter 4 of type 'int' was added

function symbol 'struct block_device* I_BDEV(struct inode*)' changed
  CRC changed from 0xc79e45c3 to 0xbf847796

function symbol 'void __ClearPageMovable(struct page*)' changed
  CRC changed from 0x4cf602fa to 0xd312e35b

function symbol 'void __SetPageMovable(struct page*, const struct movable_operations*)' changed
  CRC changed from 0x60f5778b to 0x9c92af65

... 3672 omitted; 3675 symbols have only CRC changes

type 'struct pglist_data' changed
  byte size changed from 7168 to 9088
  member changed from 'struct zone node_zones[3]' to 'struct zone node_zones[4]'
    type changed from 'struct zone[3]' to 'struct zone[4]'
      number of elements changed from 3 to 4
  member 'struct zonelist node_zonelists[1]' changed
    offset changed by 12800
  22 members ('int nr_zones' .. 'unsigned long totalreserve_pages') changed
    offset changed by 12928
  3 members ('struct cacheline_padding _pad1_' .. 'struct lruvec __lruvec') changed
    offset changed by 13312
  2 members ('unsigned long flags' .. 'struct lru_gen_mm_walk mm_walk') changed
    offset changed by 14848
  member 'struct lru_gen_memcg memcg_lru' changed
    offset changed by 15104
  3 members ('struct cacheline_padding _pad2_' .. 'atomic_long_t vm_stat[42]') changed
    offset changed by 15360

type 'struct iommu_group' changed
  byte size changed from 208 to 224
  member 'struct xarray pasid_array' was added
  11 members ('struct mutex mutex' .. 'void* owner') changed
    offset changed by 128

type 'struct iommu_domain' changed
  byte size changed from 72 to 88
  member 'iommu_fault_handler_t handler' was removed
  member 'void* handler_token' was removed
  2 members ('struct iommu_domain_geometry geometry' .. 'struct iommu_dma_cookie* iova_cookie') changed
    offset changed by -128
  member 'enum iommu_page_response_code(* iopf_handler)(struct iommu_fault*, void*)' was added
  member 'void* fault_data' was added
  member 'union { struct { iommu_fault_handler_t handler; void* handler_token; }; struct { struct mm_struct* mm; int users; }; }' was added

type 'struct iommu_device' changed
  byte size changed from 40 to 48
  member 'u32 max_pasids' was added

type 'struct iommu_ops' changed
  byte size changed from 152 to 136
  member 'struct iommu_sva*(* sva_bind)(struct device*, struct mm_struct*, void*)' was removed
  member 'void(* sva_unbind)(struct iommu_sva*)' was removed
  member 'u32(* sva_get_pasid)(struct iommu_sva*)' was removed
  2 members ('int(* page_response)(struct device*, struct iommu_fault_event*, struct iommu_page_response*)' .. 'int(* def_domain_type)(struct device*)') changed
    offset changed by -192
  member 'void(* remove_dev_pasid)(struct device*, ioasid_t)' was added
  3 members ('const struct iommu_domain_ops* default_domain_ops' .. 'struct module* owner') changed
    offset changed by -128

type 'struct vm_event_state' changed
  byte size changed from 728 to 752
  member changed from 'unsigned long event[91]' to 'unsigned long event[94]'
    type changed from 'unsigned long[91]' to 'unsigned long[94]'
      number of elements changed from 91 to 94

type 'struct dev_iommu' changed
  byte size changed from 72 to 80
  member 'u32 max_pasids' was added

type 'struct io_uring_cmd' changed
  member changed from 'union { void(* task_work_cb)(struct io_uring_cmd*); void* cookie; }' to 'union { void(* task_work_cb)(struct io_uring_cmd*, unsigned int); void* cookie; }'
    type changed from 'union { void(* task_work_cb)(struct io_uring_cmd*); void* cookie; }' to 'union { void(* task_work_cb)(struct io_uring_cmd*, unsigned int); void* cookie; }'
      member changed from 'void(* task_work_cb)(struct io_uring_cmd*)' to 'void(* task_work_cb)(struct io_uring_cmd*, unsigned int)'
        type changed from 'void(*)(struct io_uring_cmd*)' to 'void(*)(struct io_uring_cmd*, unsigned int)'
          pointed-to type changed from 'void(struct io_uring_cmd*)' to 'void(struct io_uring_cmd*, unsigned int)'
            parameter 2 of type 'unsigned int' was added

type 'struct dentry_operations' changed
  member changed from 'void(* d_canonical_path)(const struct path*, struct path*)' to 'int(* d_canonical_path)(const struct path*, struct path*)'
    type changed from 'void(*)(const struct path*, struct path*)' to 'int(*)(const struct path*, struct path*)'
      pointed-to type changed from 'void(const struct path*, struct path*)' to 'int(const struct path*, struct path*)'
        return type changed from 'void' to 'int'

type 'struct fscrypt_operations' changed
  byte size changed from 72 to 104
  member 'u64 android_kabi_reserved1' was added
  member 'u64 android_kabi_reserved2' was added
  member 'u64 android_kabi_reserved3' was added
  member 'u64 android_kabi_reserved4' was added

type 'struct zone' changed
  member changed from 'long lowmem_reserve[3]' to 'long lowmem_reserve[4]'
    type changed from 'long[3]' to 'long[4]'
      number of elements changed from 3 to 4
  15 members ('struct pglist_data* zone_pgdat' .. 'int initialized') changed
    offset changed by 64

type 'struct zonelist' changed
  byte size changed from 64 to 80
  member changed from 'struct zoneref _zonerefs[4]' to 'struct zoneref _zonerefs[5]'
    type changed from 'struct zoneref[4]' to 'struct zoneref[5]'
      number of elements changed from 4 to 5

type 'enum zone_type' changed
  enumerator 'ZONE_DEVICE' (3) was added
  enumerator '__MAX_NR_ZONES' value changed from 3 to 4

type 'struct lruvec' changed
  byte size changed from 1224 to 1416
  2 members ('struct lru_gen_mm_state mm_state' .. 'struct pglist_data* pgdat') changed
    offset changed by 1536

type 'struct lru_gen_mm_walk' changed
  byte size changed from 152 to 184
  member changed from 'int nr_pages[4][2][3]' to 'int nr_pages[4][2][4]'
    type changed from 'int[4][2][3]' to 'int[4][2][4]'
      element type changed from 'int[2][3]' to 'int[2][4]'
        element type changed from 'int[3]' to 'int[4]'
          number of elements changed from 3 to 4
  4 members ('int mm_stats[6]' .. 'bool force_scan') changed
    offset changed by 256

type 'struct iommu_domain_ops' changed
  byte size changed from 112 to 120
  member 'int(* set_dev_pasid)(struct iommu_domain*, struct device*, ioasid_t)' was added
  12 members ('int(* map)(struct iommu_domain*, unsigned long, phys_addr_t, size_t, int, gfp_t)' .. 'void(* free)(struct iommu_domain*)') changed
    offset changed by 64

type 'struct mem_cgroup_per_node' changed
  byte size changed from 2096 to 2328
  2 members ('struct lruvec_stats_percpu* lruvec_stats_percpu' .. 'struct lruvec_stats lruvec_stats') changed
    offset changed by 1536
  member changed from 'unsigned long lru_zone_size[3][5]' to 'unsigned long lru_zone_size[4][5]'
    offset changed from 15232 to 16768
    type changed from 'unsigned long[3][5]' to 'unsigned long[4][5]'
      number of elements changed from 3 to 4
  6 members ('struct mem_cgroup_reclaim_iter iter' .. 'struct mem_cgroup* memcg') changed
    offset changed by 1856

type 'struct lru_gen_folio' changed
  byte size changed from 960 to 1152
  member changed from 'struct list_head folios[4][2][3]' to 'struct list_head folios[4][2][4]'
    type changed from 'struct list_head[4][2][3]' to 'struct list_head[4][2][4]'
      element type changed from 'struct list_head[2][3]' to 'struct list_head[2][4]'
        element type changed from 'struct list_head[3]' to 'struct list_head[4]'
          number of elements changed from 3 to 4
  member changed from 'long nr_pages[4][2][3]' to 'long nr_pages[4][2][4]'
    offset changed from 3520 to 4544
    type changed from 'long[4][2][3]' to 'long[4][2][4]'
      element type changed from 'long[2][3]' to 'long[2][4]'
        element type changed from 'long[3]' to 'long[4]'
          number of elements changed from 3 to 4
  9 members ('unsigned long avg_refaulted[2][4]' .. 'struct hlist_nulls_node list') changed
    offset changed by 1536

Bug: 277759776
Change-Id: I31065f7aa7589d55cf402ed8e00da061cffe1246
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2023-04-12 03:00:45 +00:00
2023-04-12 03:00:45 +00:00
2023-04-12 02:08:29 +00:00
2023-02-09 13:29:55 +00:00
2023-03-13 15:45:34 +00:00
2023-01-18 18:50:42 +00:00
2023-04-06 14:14:07 +00:00
2023-04-06 14:14:07 +00:00
2023-04-06 14:14:07 +00:00
2023-03-31 08:15:39 +00:00
2023-04-06 14:14:07 +00:00
2023-04-06 14:14:07 +00:00
2022-09-28 09:02:20 +02:00
2022-09-28 09:02:20 +02:00
2023-04-06 14:14:07 +00:00
2022-12-01 13:06:20 +00:00
2022-06-18 10:41:40 -07:00
2022-08-22 16:34:52 +00:00

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.

    • Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux, additions of EXPORT_SYMBOL_GPL() require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export.
    • When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
  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 scripts/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 commit ...) 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 commit 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 commit ...) 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 commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [joe: 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
    • add a Bug: tag with the Android bug (required for patches not accepted into a maintainer tree)
    • 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)
Description
No description provided
Readme 7.9 GiB
Languages
C 97.7%
Assembly 1.6%
Makefile 0.3%
Perl 0.1%