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
Liangcai Fan a2aae965c6 ANDROID: ABI/Whitelist: add net whitelist to unisoc Whitelist
Update whitelist for the symbols used by the unisoc device of and
updates the ABI representation accordingly.

add list:
 - NET
 - CRYPTO
 - NF

Leaf changes summary: 214 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 205 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 9 Added variables

205 Added functions:

  [A] 'function int __clocksource_register_scale(clocksource*, u32, u32)'
  [A] 'function unsigned long int __crypto_memneq(void*, void*, size_t)'
  [A] 'function void __crypto_xor(u8*, const u8*, const u8*, unsigned int)'
  [A] 'function int __fib_lookup(net*, flowi4*, fib_result*, unsigned int)'
  [A] 'function nf_conntrack_expect* __nf_ct_expect_find(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)'
  [A] 'function void __nf_ct_refresh_acct(nf_conn*, ip_conntrack_info, const sk_buff*, u32, bool)'
  [A] 'function int __nf_ip6_route(net*, dst_entry**, flowi*, bool)'
  [A] 'function bool __nf_nat_mangle_tcp_packet(sk_buff*, nf_conn*, ip_conntrack_info, unsigned int, unsigned int, unsigned int, const char*, unsigned int, bool)'
  [A] 'function sock* __raw_v4_lookup(net*, sock*, unsigned short int, __be32, __be32, int, int)'
  [A] 'function sock* __raw_v6_lookup(net*, sock*, unsigned short int, const in6_addr*, const in6_addr*, int, int)'
  [A] 'function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)'
  [A] 'function void __xfrm_state_destroy(xfrm_state*, bool)'
  [A] 'function void aes_encrypt(const crypto_aes_ctx*, unsigned char*, const unsigned char*)'
  [A] 'function int aes_expandkey(crypto_aes_ctx*, const unsigned char*, unsigned int)'
  [A] 'function void arc4_crypt(arc4_ctx*, unsigned char*, const unsigned char*, unsigned int)'
  [A] 'function int arc4_setkey(arc4_ctx*, const unsigned char*, unsigned int)'
  [A] 'function request_queue* blk_mq_init_sq_queue(blk_mq_tag_set*, const blk_mq_ops*, unsigned int, unsigned int)'
  [A] 'function int ce_aes_expandkey(crypto_aes_ctx*, const unsigned char*, unsigned int)'
  [A] 'function void clockevents_config_and_register(clock_event_device*, u32, unsigned long int, unsigned long int)'
  [A] 'function bool cpu_have_feature(unsigned int)'
  [A] 'function int crypto_ahash_digest(ahash_request*)'
  [A] 'function int crypto_ahash_setkey(crypto_ahash*, const unsigned char*, unsigned int)'
  [A] 'function crypto_ahash* crypto_alloc_ahash(const char*, unsigned int, unsigned int)'
  [A] 'function void* crypto_alloc_instance(const char*, crypto_alg*, unsigned int)'
  [A] 'function crypto_alg* crypto_attr_alg2(rtattr*, const crypto_type*, unsigned int, unsigned int)'
  [A] 'function int crypto_check_attr_type(rtattr**, unsigned int)'
  [A] 'function void crypto_inc(unsigned char*, unsigned int)'
  [A] 'function int crypto_init_spawn(crypto_spawn*, crypto_alg*, crypto_instance*, unsigned int)'
  [A] 'function void crypto_mod_put(crypto_alg*)'
  [A] 'function int crypto_register_aead(aead_alg*)'
  [A] 'function int crypto_register_shash(shash_alg*)'
  [A] 'function int crypto_register_shashes(shash_alg*, int)'
  [A] 'function int crypto_register_skcipher(skcipher_alg*)'
  [A] 'function int crypto_register_skciphers(skcipher_alg*, int)'
  [A] 'function int crypto_register_template(crypto_template*)'
  [A] 'function int crypto_sha1_finup(shash_desc*, const u8*, unsigned int, u8*)'
  [A] 'function int crypto_sha1_update(shash_desc*, const u8*, unsigned int)'
  [A] 'function int crypto_shash_digest(shash_desc*, const unsigned char*, unsigned int, unsigned char*)'
  [A] 'function crypto_tfm* crypto_spawn_tfm(crypto_spawn*, unsigned int, unsigned int)'
  [A] 'function void crypto_unregister_aead(aead_alg*)'
  [A] 'function int crypto_unregister_shash(shash_alg*)'
  [A] 'function int crypto_unregister_shashes(shash_alg*, int)'
  [A] 'function void crypto_unregister_skcipher(skcipher_alg*)'
  [A] 'function void crypto_unregister_skciphers(skcipher_alg*, int)'
  [A] 'function void crypto_unregister_template(crypto_template*)'
  [A] 'function net_device* dev_get_by_name_rcu(net*, const char*)'
  [A] 'function void devm_thermal_zone_of_sensor_unregister(device*, thermal_zone_device*)'
  [A] 'function bool fib_info_nh_uses_dev(fib_info*, const net_device*)'
  [A] 'function int fib_table_lookup(fib_table*, const flowi4*, fib_result*, int)'
  [A] 'function int generic_key_instantiate(key*, key_preparsed_payload*)'
  [A] 'function void gf128mul_lle(be128*, const be128*)'
  [A] 'function i2c_client* i2c_new_dummy_device(i2c_adapter*, u16)'
  [A] 'function void icmpv6_send(sk_buff*, unsigned char, unsigned char, unsigned int)'
  [A] 'function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)'
  [A] 'function int inet_diag_bc_sk(const nlattr*, sock*)'
  [A] 'function int inet_diag_register(const inet_diag_handler*)'
  [A] 'function void inet_diag_unregister(const inet_diag_handler*)'
  [A] 'function void inet_proto_csum_replace4(unsigned short int*, sk_buff*, unsigned int, unsigned int, bool)'
  [A] '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)'
  [A] 'function int input_scancode_to_scalar(const input_keymap_entry*, unsigned int*)'
  [A] 'function void ip6_redirect(sk_buff*, net*, int, unsigned int, __anonymous_struct__)'
  [A] 'function void ip6_update_pmtu(sk_buff*, net*, unsigned int, int, unsigned int, __anonymous_struct__)'
  [A] 'function void* ip6t_alloc_initial_table(const xt_table*)'
  [A] 'function unsigned int ip6t_do_table(sk_buff*, const nf_hook_state*, xt_table*)'
  [A] 'function int ip6t_register_table(net*, const xt_table*, const ip6t_replace*, const nf_hook_ops*, xt_table**)'
  [A] 'function void ip6t_unregister_table(net*, xt_table*, const nf_hook_ops*)'
  [A] 'function int ip_route_me_harder(net*, sk_buff*, unsigned int)'
  [A] 'function void ipcomp_destroy(xfrm_state*)'
  [A] 'function int ipcomp_init_state(xfrm_state*)'
  [A] 'function int ipcomp_input(xfrm_state*, sk_buff*)'
  [A] 'function int ipcomp_output(xfrm_state*, sk_buff*)'
  [A] 'function void ipv4_redirect(sk_buff*, net*, int, unsigned char)'
  [A] 'function void ipv4_update_pmtu(sk_buff*, net*, unsigned int, int, unsigned char)'
  [A] 'function void kernel_neon_begin()'
  [A] 'function void kernel_neon_end()'
  [A] 'function void key_invalidate(key*)'
  [A] 'function void key_put(key*)'
  [A] 'function void key_revoke(key*)'
  [A] 'function int key_validate(const key*)'
  [A] 'function key* keyring_alloc(const char*, __anonymous_struct__, __anonymous_struct__1, const cred*, unsigned int, unsigned long int, key_restriction*, key*)'
  [A] 'function char* kmemdup_nul(const char*, unsigned long int, unsigned int)'
  [A] 'function char* kobject_get_path(kobject*, unsigned int)'
  [A] 'function u32* led_get_default_pattern(led_classdev*, unsigned int*)'
  [A] 'function void led_set_brightness(led_classdev*, led_brightness)'
  [A] 'function int led_trigger_register(led_trigger*)'
  [A] 'function void led_trigger_unregister(led_trigger*)'
  [A] 'function int mod_timer_pending(timer_list*, unsigned long int)'
  [A] 'function bool netlink_net_capable(const sk_buff*, int)'
  [A] 'function int nf_conntrack_helpers_register(nf_conntrack_helper*, unsigned int)'
  [A] 'function void nf_conntrack_helpers_unregister(nf_conntrack_helper*, unsigned int)'
  [A] 'function nf_conntrack_expect* nf_ct_expect_alloc(nf_conn*)'
  [A] 'function void nf_ct_expect_init(nf_conntrack_expect*, unsigned int, unsigned char, const nf_inet_addr*, const nf_inet_addr*, unsigned char, const unsigned short int*, const unsigned short int*)'
  [A] 'function void nf_ct_expect_put(nf_conntrack_expect*)'
  [A] 'function int nf_ct_expect_related_report(nf_conntrack_expect*, unsigned int, int, unsigned int)'
  [A] 'function void* nf_ct_ext_add(nf_conn*, nf_ct_ext_id, unsigned int)'
  [A] 'function int nf_ct_extend_register(const nf_ct_ext_type*)'
  [A] 'function void nf_ct_extend_unregister(const nf_ct_ext_type*)'
  [A] 'function void nf_ct_helper_expectfn_register(nf_ct_helper_expectfn*)'
  [A] 'function void nf_ct_helper_expectfn_unregister(nf_ct_helper_expectfn*)'
  [A] 'function void nf_ct_helper_init(nf_conntrack_helper*, unsigned short int, unsigned short int, const char*, unsigned short int, unsigned short int, unsigned int, const nf_conntrack_expect_policy*, unsigned int, void ()*, void ()*, module*)'
  [A] 'function void nf_ct_helper_log(sk_buff*, const nf_conn*, const char*, ...)'
  [A] 'function int nf_ct_netns_get(net*, unsigned char)'
  [A] 'function void nf_ct_netns_put(net*, unsigned char)'
  [A] 'function bool nf_ct_remove_expect(nf_conntrack_expect*)'
  [A] 'function int nf_ct_seqadj_init(nf_conn*, ip_conntrack_info, s32)'
  [A] 'function int nf_ct_seqadj_set(nf_conn*, ip_conntrack_info, __be32, s32)'
  [A] 'function nf_conn* nf_ct_tmpl_alloc(net*, const nf_conntrack_zone*, unsigned int)'
  [A] 'function void nf_ct_tmpl_free(nf_conn*)'
  [A] 'function void nf_ct_unexpect_related(nf_conntrack_expect*)'
  [A] 'function __sum16 nf_ip6_checksum(sk_buff*, unsigned int, unsigned int, u8)'
  [A] 'function __sum16 nf_ip_checksum(sk_buff*, unsigned int, unsigned int, u8)'
  [A] 'function int nf_ip_route(net*, dst_entry**, flowi*, bool)'
  [A] 'function int nf_log_buf_add(nf_log_buf*, const char*, ...)'
  [A] 'function void nf_log_buf_close(nf_log_buf*)'
  [A] 'function nf_log_buf* nf_log_buf_open()'
  [A] 'function void nf_log_packet(net*, unsigned char, unsigned int, const sk_buff*, const net_device*, const net_device*, const nf_loginfo*, const char*, ...)'
  [A] 'function int nf_log_register(unsigned char, nf_logger*)'
  [A] 'function int nf_log_set(net*, u_int8_t, const nf_logger*)'
  [A] 'function void nf_log_unregister(nf_logger*)'
  [A] 'function void nf_log_unset(net*, const nf_logger*)'
  [A] 'function int nf_logger_find_get(int, nf_log_type)'
  [A] 'function void nf_logger_put(int, nf_log_type)'
  [A] 'function void nf_nat_helper_register(nf_conntrack_nat_helper*)'
  [A] 'function void nf_nat_helper_unregister(nf_conntrack_nat_helper*)'
  [A] 'function int nf_nat_ipv6_register_fn(net*, const nf_hook_ops*)'
  [A] 'function void nf_nat_ipv6_unregister_fn(net*, const nf_hook_ops*)'
  [A] 'function bool nf_nat_mangle_udp_packet(sk_buff*, nf_conn*, ip_conntrack_info, unsigned int, unsigned int, unsigned int, const char*, unsigned int)'
  [A] 'function unsigned int nf_nat_setup_info(nf_conn*, const nf_nat_range2*, nf_nat_manip_type)'
  [A] 'function int of_parse_phandle_with_fixed_args(const device_node*, const char*, int, int, of_phandle_args*)'
  [A] 'function int ppp_channel_index(ppp_channel*)'
  [A] 'function void ppp_input(ppp_channel*, sk_buff*)'
  [A] 'function void ppp_input_error(ppp_channel*, int)'
  [A] 'function void ppp_output_wakeup(ppp_channel*)'
  [A] 'function int ppp_register_channel(ppp_channel*)'
  [A] 'function int ppp_register_net_channel(net*, ppp_channel*)'
  [A] 'function int ppp_unit_number(ppp_channel*)'
  [A] 'function void ppp_unregister_channel(ppp_channel*)'
  [A] 'function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)'
  [A] 'function int pppox_ioctl(socket*, unsigned int, unsigned long int)'
  [A] 'function void pppox_unbind_sock(sock*)'
  [A] 'function cred* prepare_kernel_cred(task_struct*)'
  [A] 'function int register_key_type(key_type*)'
  [A] 'function int register_pppox_proto(int, const pppox_proto*)'
  [A] 'function int register_tcf_proto_ops(tcf_proto_ops*)'
  [A] 'function key* request_key_tag(key_type*, const char*, key_tag*, const char*)'
  [A] 'function scatterlist* scatterwalk_ffwd(scatterlist*, scatterlist*, unsigned int)'
  [A] 'function void shash_free_instance(crypto_instance*)'
  [A] 'function int shash_register_instance(crypto_template*, shash_instance*)'
  [A] 'function simd_skcipher_alg* simd_skcipher_create_compat(const char*, const char*, const char*)'
  [A] 'function void simd_skcipher_free(simd_skcipher_alg*)'
  [A] 'function int skb_cow_data(sk_buff*, int, sk_buff**)'
  [A] 'function int skb_ensure_writable(sk_buff*, int)'
  [A] 'function int skb_to_sgvec_nomark(sk_buff*, scatterlist*, int, int)'
  [A] 'function int skcipher_walk_aead_decrypt(skcipher_walk*, aead_request*, bool)'
  [A] 'function int skcipher_walk_aead_encrypt(skcipher_walk*, aead_request*, bool)'
  [A] 'function int skcipher_walk_done(skcipher_walk*, int)'
  [A] 'function int skcipher_walk_virt(skcipher_walk*, skcipher_request*, bool)'
  [A] 'function int sock_diag_destroy(sock*, int)'
  [A] 'function sk_buff* sock_wmalloc(sock*, unsigned long int, int, unsigned int)'
  [A] 'function void start_tty(tty_struct*)'
  [A] 'function void static_key_slow_dec(static_key*)'
  [A] 'function void static_key_slow_inc(static_key*)'
  [A] 'function void stop_tty(tty_struct*)'
  [A] 'function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)'
  [A] 'function void tcf_exts_destroy(tcf_exts*)'
  [A] 'function int tcf_exts_dump(sk_buff*, tcf_exts*)'
  [A] 'function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)'
  [A] 'function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, bool, bool, netlink_ext_ack*)'
  [A] 'function bool tcf_queue_work(rcu_work*, void ()*)'
  [A] 'function int tty_mode_ioctl(tty_struct*, file*, unsigned int, unsigned long int)'
  [A] 'function void unregister_key_type(key_type*)'
  [A] 'function void unregister_pppox_proto(int)'
  [A] 'function int unregister_tcf_proto_ops(tcf_proto_ops*)'
  [A] 'function void user_destroy(key*)'
  [A] 'function long int user_read(const key*, char*, size_t)'
  [A] 'function void user_revoke(key*)'
  [A] 'function void virtio_break_device(virtio_device*)'
  [A] 'function int xfrm4_protocol_deregister(xfrm4_protocol*, unsigned char)'
  [A] 'function int xfrm4_protocol_register(xfrm4_protocol*, unsigned char)'
  [A] 'function int xfrm4_rcv(sk_buff*)'
  [A] 'function int xfrm4_tunnel_deregister(xfrm_tunnel*, unsigned short int)'
  [A] 'function int xfrm4_tunnel_register(xfrm_tunnel*, unsigned short int)'
  [A] 'function int xfrm6_find_1stfragopt(xfrm_state*, sk_buff*, u8**)'
  [A] 'function int xfrm6_protocol_deregister(xfrm6_protocol*, unsigned char)'
  [A] 'function int xfrm6_protocol_register(xfrm6_protocol*, unsigned char)'
  [A] 'function int xfrm6_rcv(sk_buff*)'
  [A] 'function xfrm_algo_desc* xfrm_aalg_get_byname(const char*, int)'
  [A] 'function int xfrm_init_state(xfrm_state*)'
  [A] 'function int xfrm_input(sk_buff*, int, unsigned int, int)'
  [A] 'function int xfrm_input_resume(sk_buff*, int)'
  [A] 'function int xfrm_output_resume(sk_buff*, int)'
  [A] 'function int xfrm_register_type(const xfrm_type*, unsigned short int)'
  [A] 'function xfrm_state* xfrm_state_alloc(net*)'
  [A] 'function void xfrm_state_insert(xfrm_state*)'
  [A] 'function xfrm_state* xfrm_state_lookup(net*, unsigned int, const __anonymous_union__2*, unsigned int, unsigned char, unsigned short int)'
  [A] 'function void xfrm_unregister_type(const xfrm_type*, unsigned short int)'
  [A] 'function nf_hook_ops* xt_hook_ops_alloc(const xt_table*, void ()*)'
  [A] 'function int xt_register_match(xt_match*)'
  [A] 'function int xt_register_matches(xt_match*, unsigned int)'
  [A] 'function int xt_register_target(xt_target*)'
  [A] 'function int xt_register_targets(xt_target*, unsigned int)'
  [A] 'function void xt_unregister_match(xt_match*)'
  [A] 'function void xt_unregister_matches(xt_match*, unsigned int)'
  [A] 'function void xt_unregister_target(xt_target*)'
  [A] 'function void xt_unregister_targets(xt_target*, unsigned int)'

9 Added variables:

  [A] 'const u16 crc_ccitt_table[256]'
  [A] 'bool fpsimd_context_busy'
  [A] 'spinlock_t nf_conntrack_expect_lock'
  [A] 'const nf_conntrack_zone nf_ct_zone_dflt'
  [A] 'bool nf_skb_duplicated'
  [A] 'raw_hashinfo raw_v4_hashinfo'
  [A] 'raw_hashinfo raw_v6_hashinfo'
  [A] 'int sysctl_nf_log_all_netns'
  [A] 'static_key xt_tee_enabled'

Bug: 147075469
Change-Id: Id2ad758ad1eacc85ff71aece131ec9c7b18fc76e
Signed-off-by: Liangcai Fan <liangcai.fan@unisoc.com>
2020-04-24 19:38:18 +08:00
arch ANDROID: gki_defconfig: enable CONFIG_MMC_CRYPTO 2020-04-23 21:17:05 +00:00
block This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
certs
crypto This is the 5.4.33 stable release 2020-04-17 11:26:58 +02:00
Documentation This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
drivers ANDROID: Add padding for crypto related structs in UFS and MMC 2020-04-23 20:48:15 +00:00
fs ANDROID: sdcardfs: fix export symbol types 2020-04-23 14:21:31 +02:00
include ANDROID: Add padding for crypto related structs in UFS and MMC 2020-04-23 20:48:15 +00:00
init ANDROID: init: GKI: enable hidden configs for GPU 2020-04-22 20:40:03 +00:00
ipc This is the 5.4.23 stable release 2020-03-01 10:17:44 +01:00
kernel This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
lib This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
LICENSES
mm This is the 5.4.33 stable release 2020-04-17 11:26:58 +02:00
net This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
samples FROMGIT: samples/hw_breakpoint: drop use of kallsyms_lookup_name() 2020-03-12 11:15:54 +00:00
scripts FROMGIT: kbuild: mkcompile_h: Include $LD version in /proc/version 2020-04-08 16:27:24 +00:00
security This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
sound This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
tools This is the 5.4.35 stable release 2020-04-23 11:15:10 +02:00
usr initramfs: restore default compression behavior 2020-04-08 09:08:38 +02:00
virt KVM: Check for a bad hva before dropping into the ghc slow path 2020-03-05 16:43:48 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Revert "ANDROID: Revert "Merge tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux"" 2019-11-13 10:14:45 +00:00
.mailmap
abi_gki_aarch64.xml ANDROID: ABI/Whitelist: add net whitelist to unisoc Whitelist 2020-04-24 19:38:18 +08:00
abi_gki_aarch64_cuttlefish_whitelist ANDROID: GKI: update cf whitelist + gki whitelist 2020-03-31 12:28:54 -07:00
abi_gki_aarch64_db845c_whitelist ANDROID: ABI/Whitelist: update for db845c after changing drivers to modules. 2020-04-16 18:15:41 +00:00
abi_gki_aarch64_goldfish_whitelist ANDROID: GKI: Added goldfish whitelist to aarch64 abi 2020-03-31 12:45:07 -07:00
abi_gki_aarch64_hikey960_whitelist ANDROID: ABI/Whitelist: update for hikey960 2020-03-23 23:39:45 +00:00
abi_gki_aarch64_qcom_whitelist ANDROID: GKI: remove kernel_read/write from whitelists 2020-04-02 06:18:20 +00:00
abi_gki_aarch64_unisoc_whitelist ANDROID: ABI/Whitelist: add net whitelist to unisoc Whitelist 2020-04-24 19:38:18 +08:00
abi_gki_aarch64_whitelist ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct 2020-03-04 23:09:20 +00:00
build.config.aarch64 ANDROID: support GKI image that contains an uncompressed Kernel Image. 2020-02-06 11:14:03 +00:00
build.config.allmodconfig ANDROID: fix allmodconfig build to use the right toolchain 2020-04-14 15:39:56 +00:00
build.config.allmodconfig.aarch64
build.config.allmodconfig.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-15 22:51:11 +00:00
build.config.allmodconfig.x86_64
build.config.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-15 22:51:11 +00:00
build.config.common ANDROID: clang: update to 10.0.5 2020-03-30 20:09:25 +00:00
build.config.db845c ANDROID: db845c build: Use merge_configs 2020-04-01 14:04:53 +00:00
build.config.gki ANDROID: gki: Removed cf modules from gki_defconfig 2020-01-31 16:34:58 -08:00
build.config.gki-debug.aarch64 ANDROID: Add build.config.gki-debug.aarch64 2020-03-16 09:20:25 +00:00
build.config.gki-debug.x86_64 ANDROID: Add build.config.gki-debug.x86_64 2020-03-16 14:27:00 +00:00
build.config.gki.aarch64 ANDROID: GKI: Added goldfish whitelist to aarch64 abi 2020-03-31 12:45:07 -07:00
build.config.gki.x86_64
build.config.hikey960 ANDROID: hikey960: Add external mali driver support to build.config.hikey960 2020-03-23 22:55:17 +00:00
build.config.x86_64
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS This is the 5.4.23 stable release 2020-03-01 10:17:44 +01:00
Makefile This is the 5.4.35 stable release 2020-04-23 11:15:10 +02: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)