mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
22ec5ade86404af8db96df6151d630c2d44a79cf
Set KMI_GENERATION=6 for 5/10 KMI update
122 function symbol(s) removed
'struct sk_buff* __cfg80211_alloc_event_skb(struct wiphy*, struct wireless_dev*, enum nl80211_commands, enum nl80211_attrs, unsigned int, int, int, gfp_t)'
'struct sk_buff* __cfg80211_alloc_reply_skb(struct wiphy*, enum nl80211_commands, enum nl80211_attrs, int)'
'void __cfg80211_send_event_skb(struct sk_buff*, gfp_t)'
'void cfg80211_assoc_failure(struct net_device*, struct cfg80211_assoc_failure*)'
'u32 cfg80211_calculate_bitrate(struct rate_info*)'
'void cfg80211_ch_switch_notify(struct net_device*, struct cfg80211_chan_def*, unsigned int)'
'void cfg80211_ch_switch_started_notify(struct net_device*, struct cfg80211_chan_def*, unsigned int, u8, bool)'
'void cfg80211_chandef_create(struct cfg80211_chan_def*, struct ieee80211_channel*, enum nl80211_channel_type)'
'void cfg80211_connect_done(struct net_device*, struct cfg80211_connect_resp_params*, gfp_t)'
'void cfg80211_del_sta_sinfo(struct net_device*, const u8*, struct station_info*, gfp_t)'
'void cfg80211_disconnected(struct net_device*, u16, const u8*, size_t, bool, gfp_t)'
'int cfg80211_external_auth_request(struct net_device*, struct cfg80211_external_auth_params*, gfp_t)'
'const struct element* cfg80211_find_elem_match(u8, const u8*, unsigned int, const u8*, unsigned int, unsigned int)'
'const struct element* cfg80211_find_vendor_elem(unsigned int, int, const u8*, unsigned int)'
'void cfg80211_ft_event(struct net_device*, struct cfg80211_ft_event_params*)'
'struct cfg80211_bss* cfg80211_get_bss(struct wiphy*, struct ieee80211_channel*, const u8*, const u8*, size_t, enum ieee80211_bss_type, enum ieee80211_privacy)'
'void cfg80211_gtk_rekey_notify(struct net_device*, const u8*, const u8*, gfp_t)'
'void cfg80211_ibss_joined(struct net_device*, const u8*, struct ieee80211_channel*, gfp_t)'
'struct cfg80211_bss* cfg80211_inform_bss_data(struct wiphy*, struct cfg80211_inform_bss*, enum cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)'
'struct cfg80211_bss* cfg80211_inform_bss_frame_data(struct wiphy*, struct cfg80211_inform_bss*, struct ieee80211_mgmt*, size_t, gfp_t)'
'void cfg80211_mgmt_tx_status_ext(struct wireless_dev*, struct cfg80211_tx_status*, gfp_t)'
'void cfg80211_michael_mic_failure(struct net_device*, const u8*, enum nl80211_key_type, int, const u8*, gfp_t)'
'void cfg80211_new_sta(struct net_device*, const u8*, struct station_info*, gfp_t)'
'void cfg80211_pmksa_candidate_notify(struct net_device*, int, const u8*, bool, gfp_t)'
'void cfg80211_port_authorized(struct net_device*, const u8*, const u8*, u8, gfp_t)'
'void cfg80211_put_bss(struct wiphy*, struct cfg80211_bss*)'
'void cfg80211_ready_on_channel(struct wireless_dev*, u64, struct ieee80211_channel*, unsigned int, gfp_t)'
'int cfg80211_register_netdevice(struct net_device*)'
'void cfg80211_remain_on_channel_expired(struct wireless_dev*, u64, struct ieee80211_channel*, gfp_t)'
'void cfg80211_roamed(struct net_device*, struct cfg80211_roam_info*, gfp_t)'
'bool cfg80211_rx_mgmt_ext(struct wireless_dev*, struct cfg80211_rx_info*)'
'void cfg80211_rx_unprot_mlme_mgmt(struct net_device*, const u8*, size_t)'
'void cfg80211_scan_done(struct cfg80211_scan_request*, struct cfg80211_scan_info*)'
'void cfg80211_sched_scan_results(struct wiphy*, u64)'
'void cfg80211_sched_scan_stopped_locked(struct wiphy*, u64)'
'void cfg80211_tdls_oper_request(struct net_device*, const u8*, enum nl80211_tdls_operation, u16, gfp_t)'
'void cfg80211_unlink_bss(struct wiphy*, struct cfg80211_bss*)'
'void cfg80211_unregister_wdev(struct wireless_dev*)'
'void cfg80211_update_owe_info_event(struct net_device*, struct cfg80211_update_owe_info*, gfp_t)'
'int cfg80211_vendor_cmd_reply(struct sk_buff*)'
'const struct ieee80211_reg_rule* freq_reg_info(struct wiphy*, u32)'
'struct ieee80211_hw* ieee80211_alloc_hw_nm(size_t, const struct ieee80211_ops*, const char*)'
'bool ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif*)'
'struct sk_buff* ieee80211_beacon_get_template(struct ieee80211_hw*, struct ieee80211_vif*, struct ieee80211_mutable_offsets*)'
'struct sk_buff* ieee80211_beacon_get_tim(struct ieee80211_hw*, struct ieee80211_vif*, u16*, u16*)'
'void ieee80211_beacon_loss(struct ieee80211_vif*)'
'u8 ieee80211_beacon_update_cntdwn(struct ieee80211_vif*)'
'const struct element* ieee80211_bss_get_elem(struct cfg80211_bss*, u8)'
'u32 ieee80211_calc_rx_airtime(struct ieee80211_hw*, struct ieee80211_rx_status*, int)'
'u32 ieee80211_calc_tx_airtime(struct ieee80211_hw*, struct ieee80211_tx_info*, int)'
'u32 ieee80211_channel_to_freq_khz(int, enum nl80211_band)'
'void ieee80211_connection_loss(struct ieee80211_vif*)'
'void ieee80211_csa_finish(struct ieee80211_vif*)'
'struct ieee80211_sta* ieee80211_find_sta(struct ieee80211_vif*, const u8*)'
'struct ieee80211_sta* ieee80211_find_sta_by_ifaddr(struct ieee80211_hw*, const u8*, const u8*)'
'void ieee80211_free_hw(struct ieee80211_hw*)'
'void ieee80211_free_txskb(struct ieee80211_hw*, struct sk_buff*)'
'int ieee80211_freq_khz_to_channel(u32)'
'struct sk_buff* ieee80211_get_buffered_bc(struct ieee80211_hw*, struct ieee80211_vif*)'
'struct ieee80211_channel* ieee80211_get_channel_khz(struct wiphy*, u32)'
'struct sk_buff* ieee80211_get_fils_discovery_tmpl(struct ieee80211_hw*, struct ieee80211_vif*)'
'unsigned int ieee80211_get_hdrlen_from_skb(const struct sk_buff*)'
'void ieee80211_get_key_rx_seq(struct ieee80211_key_conf*, int, struct ieee80211_key_seq*)'
'void ieee80211_get_tx_rates(struct ieee80211_vif*, struct ieee80211_sta*, struct sk_buff*, struct ieee80211_tx_rate*, int)'
'struct sk_buff* ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw*, struct ieee80211_vif*)'
'unsigned int ieee80211_hdrlen(__le16)'
'void ieee80211_iter_chan_contexts_atomic(struct ieee80211_hw*, void(*)(struct ieee80211_hw*, struct ieee80211_chanctx_conf*, void*), void*)'
'void ieee80211_iter_keys_rcu(struct ieee80211_hw*, struct ieee80211_vif*, void(*)(struct ieee80211_hw*, struct ieee80211_vif*, struct ieee80211_sta*, struct ieee80211_key_conf*, void*), void*)'
'void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw*, u32, void(*)(void*, u8*, struct ieee80211_vif*), void*)'
'void ieee80211_iterate_interfaces(struct ieee80211_hw*, u32, void(*)(void*, u8*, struct ieee80211_vif*), void*)'
'void ieee80211_iterate_stations_atomic(struct ieee80211_hw*, void(*)(void*, struct ieee80211_sta*), void*)'
'void ieee80211_manage_rx_ba_offl(struct ieee80211_vif*, const u8*, unsigned int)'
'struct ieee80211_txq* ieee80211_next_txq(struct ieee80211_hw*, u8)'
'struct sk_buff* ieee80211_probereq_get(struct ieee80211_hw*, const u8*, const u8*, size_t, size_t)'
'struct sk_buff* ieee80211_proberesp_get(struct ieee80211_hw*, struct ieee80211_vif*)'
'void ieee80211_queue_delayed_work(struct ieee80211_hw*, struct delayed_work*, unsigned long)'
'void ieee80211_queue_work(struct ieee80211_hw*, struct work_struct*)'
'void ieee80211_radar_detected(struct ieee80211_hw*)'
'void ieee80211_ready_on_channel(struct ieee80211_hw*)'
'int ieee80211_register_hw(struct ieee80211_hw*)'
'void ieee80211_remain_on_channel_expired(struct ieee80211_hw*)'
'void ieee80211_report_low_ack(struct ieee80211_sta*, u32)'
'void ieee80211_restart_hw(struct ieee80211_hw*)'
'void ieee80211_return_txq(struct ieee80211_hw*, struct ieee80211_txq*, bool)'
'void ieee80211_rx_irqsafe(struct ieee80211_hw*, struct sk_buff*)'
'void ieee80211_rx_list(struct ieee80211_hw*, struct ieee80211_sta*, struct sk_buff*, struct list_head*)'
'void ieee80211_rx_napi(struct ieee80211_hw*, struct ieee80211_sta*, struct sk_buff*, struct napi_struct*)'
'void ieee80211_scan_completed(struct ieee80211_hw*, struct cfg80211_scan_info*)'
'void ieee80211_send_bar(struct ieee80211_vif*, u8*, u16, u16)'
'void ieee80211_sta_eosp(struct ieee80211_sta*)'
'int ieee80211_sta_ps_transition(struct ieee80211_sta*, bool)'
'void ieee80211_sta_pspoll(struct ieee80211_sta*)'
'void ieee80211_sta_register_airtime(struct ieee80211_sta*, u8, u32, u32)'
'void ieee80211_sta_uapsd_trigger(struct ieee80211_sta*, u8)'
'void ieee80211_stop_queue(struct ieee80211_hw*, int)'
'void ieee80211_stop_queues(struct ieee80211_hw*)'
'void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif*, const u8*, u16)'
'void ieee80211_tdls_oper_request(struct ieee80211_vif*, const u8*, enum nl80211_tdls_operation, u16, gfp_t)'
'struct sk_buff* ieee80211_tx_dequeue(struct ieee80211_hw*, struct ieee80211_txq*)'
'bool ieee80211_tx_prepare_skb(struct ieee80211_hw*, struct ieee80211_vif*, struct sk_buff*, int, struct ieee80211_sta**)'
'void ieee80211_tx_rate_update(struct ieee80211_hw*, struct ieee80211_sta*, struct ieee80211_tx_info*)'
'void ieee80211_tx_status(struct ieee80211_hw*, struct sk_buff*)'
'void ieee80211_tx_status_ext(struct ieee80211_hw*, struct ieee80211_tx_status*)'
'void ieee80211_tx_status_irqsafe(struct ieee80211_hw*, struct sk_buff*)'
'void ieee80211_txq_get_depth(struct ieee80211_txq*, unsigned long*, unsigned long*)'
'bool ieee80211_txq_may_transmit(struct ieee80211_hw*, struct ieee80211_txq*)'
'void ieee80211_txq_schedule_start(struct ieee80211_hw*, u8)'
'void ieee80211_unregister_hw(struct ieee80211_hw*)'
'void ieee80211_wake_queue(struct ieee80211_hw*, int)'
'void ieee80211_wake_queues(struct ieee80211_hw*)'
'const char* reg_initiator_name(enum nl80211_reg_initiator)'
'int regulatory_hint(struct wiphy*, const char*)'
'int regulatory_set_wiphy_regd(struct wiphy*, struct ieee80211_regdomain*)'
'int regulatory_set_wiphy_regd_sync(struct wiphy*, struct ieee80211_regdomain*)'
'void wiphy_apply_custom_regulatory(struct wiphy*, const struct ieee80211_regdomain*)'
'void wiphy_free(struct wiphy*)'
'struct wiphy* wiphy_new_nm(const struct cfg80211_ops*, int, const char*)'
'void wiphy_read_of_freq_limits(struct wiphy*)'
'int wiphy_register(struct wiphy*)'
'void wiphy_rfkill_set_hw_state_reason(struct wiphy*, bool, enum rfkill_hard_block_reasons)'
'struct ieee80211_hw* wiphy_to_ieee80211_hw(struct wiphy*)'
'void wiphy_unregister(struct wiphy*)'
1 variable symbol(s) removed
'const unsigned char rfc1042_header[6]'
6 function symbol(s) added
'int __traceiter_android_vh_do_futex(void*, int, unsigned int*, u32*)'
'int __traceiter_android_vh_futex_wait_end(void*, unsigned int, u32)'
'int __traceiter_android_vh_futex_wait_start(void*, unsigned int, u32)'
'int __traceiter_android_vh_futex_wake_this(void*, int, int, int, struct task_struct*)'
'int __traceiter_android_vh_futex_wake_traverse_plist(void*, struct plist_head*, int*, union futex_key, u32)'
'int __traceiter_android_vh_futex_wake_up_q_finish(void*, int, int)'
6 variable symbol(s) added
'struct tracepoint __tracepoint_android_vh_do_futex'
'struct tracepoint __tracepoint_android_vh_futex_wait_end'
'struct tracepoint __tracepoint_android_vh_futex_wait_start'
'struct tracepoint __tracepoint_android_vh_futex_wake_this'
'struct tracepoint __tracepoint_android_vh_futex_wake_traverse_plist'
'struct tracepoint __tracepoint_android_vh_futex_wake_up_q_finish'
function symbol changed from 'unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup*, unsigned long, gfp_t, bool)' to 'unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup*, unsigned long, gfp_t, unsigned int)'
CRC changed from 0x79f1d652 to 0x843f8baf
type changed from 'unsigned long(struct mem_cgroup*, unsigned long, gfp_t, bool)' to 'unsigned long(struct mem_cgroup*, unsigned long, gfp_t, unsigned int)'
parameter 4 type changed from 'bool' = '_Bool' to 'unsigned int'
resolved type changed from '_Bool' to 'unsigned int'
function symbol 'struct block_device* I_BDEV(struct inode*)' changed
CRC changed from 0xf2df037e to 0x5b8d1e5
function symbol 'void __ClearPageMovable(struct page*)' changed
CRC changed from 0xafefd4e to 0x12b3b0b6
function symbol 'void __SetPageMovable(struct page*, struct address_space*)' changed
CRC changed from 0x76517c1e to 0x2f7e012
... 1717 omitted; 1720 symbols have only CRC changes
type 'struct request' changed
byte size changed from 304 to 328
member 'struct { struct io_cq* icq; void* priv[2]; } elv' was added
member 'struct { unsigned int seq; struct list_head list; rq_end_io_fn* saved_end_io; } flush' was added
member 'union { struct { struct io_cq* icq; void* priv[2]; } elv; struct { unsigned int seq; struct list_head list; rq_end_io_fn* saved_end_io; } flush; }' was removed
19 members ('struct gendisk* rq_disk' .. 'u64 android_kabi_reserved1') changed
offset changed by 192
type 'struct rq' changed
byte size changed from 4544 to 4608
member 'unsigned long cpu_capacity_inverted' was added
10 members ('struct callback_head* balance_callback' .. 'struct list_head cfs_tasks') changed
offset changed by 64
35 members ('struct sched_avg avg_rt' .. 'u64 android_kabi_reserved4') changed
offset changed by 512
type 'struct cfg80211_conn' changed
was fully defined, is now only declared
type 'struct cfg80211_cached_keys' changed
was fully defined, is now only declared
type 'struct cfg80211_cqm_config' changed
was fully defined, is now only declared
type 'struct cfg80211_internal_bss' changed
was fully defined, is now only declared
type 'struct pkvm_module_ops' changed
byte size changed from 496 to 512
member 'void(* update_hcr_el2)(unsigned long, unsigned long)' was added
member 'void(* update_hfgwtr_el2)(unsigned long, unsigned long)' was added
51 members ('int(* register_host_perm_fault_handler)(int(*)(struct kvm_cpu_context*, u64, u64))' .. 'u64 android_kabi_reserved32') changed
offset changed by 128
Bug: 280599882
Change-Id: I797a325acc9e73853da7cce6be591402303f0467
Signed-off-by: Carlos Llamas <cmllamas@google.com>
How do I submit patches to Android Common Kernels
-
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.
- Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
additions of
-
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:, orANDROID:. - 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
- tag the patch subject with
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 ofUPSTREAM:.- use the same tags as
UPSTREAM: - add comments about the changes under the
(cherry picked from commit ...)line - Example:
- use the same tags as
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 uselinux-nextfor example). - if changes were required, use
BACKPORT: FROMGIT: - Example:
- if the commit message in the maintainer tree is
- tag the patch subject with
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:
- tag the patch subject with
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:
- tag the patch subject with
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)
- tag the patch subject with
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%