From 6ca1e28c7f152eb8a03fd46345900a4c0c2634dd Mon Sep 17 00:00:00 2001 From: Sangmoon Kim Date: Wed, 21 Oct 2020 21:41:22 +0900 Subject: [PATCH 01/15] FROMLIST: char: misc: increase DYNAMIC_MINORS value DYNAMIC_MINORS value has been set to 64. Due to this reason, we are facing a module loading fail problem of device driver like below. [ 45.712771] pdic_misc_init - return error : -16 We need to increase this value for registering more misc devices. Signed-off-by: Sangmoon Kim Bug: 171370390 Link: https://lore.kernel.org/lkml/20201029070552.GA3062343@kroah.com/ Change-Id: I04ab486ce7674dde3118506c3d783f0e4e211bac Signed-off-by: Sangmoon Kim --- drivers/char/misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/misc.c b/drivers/char/misc.c index f6a147427029..ca5141ed5ef3 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -60,7 +60,7 @@ static DEFINE_MUTEX(misc_mtx); /* * Assigned numbers, used for dynamic minors */ -#define DYNAMIC_MINORS 64 /* like dynamic majors */ +#define DYNAMIC_MINORS 128 /* like dynamic majors */ static DECLARE_BITMAP(misc_minors, DYNAMIC_MINORS); #ifdef CONFIG_PROC_FS From a273b843acd781a87995d294e39b8a45390b6aa0 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 29 Oct 2020 17:42:30 +0100 Subject: [PATCH 02/15] ANDROID: ABI: update allowed list for galaxy Update Galaxy list of symbols with ones that are already in the .xml file to make further patches much smaller and easier to review. Bug: 171954519 Cc: Jeehong Kim Signed-off-by: Greg Kroah-Hartman Change-Id: Ic30a89e6254cddb7669a473e06263d2aef8f9703 --- android/abi_gki_aarch64_galaxy | 112 +++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index 690d1f72c4b0..a885f2f6961a 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -38,6 +38,7 @@ __cpuhp_setup_state __cpuhp_setup_state_cpuslocked __dev_kfree_skb_any + __dev_kfree_skb_irq __devm_iio_device_register __devm_irq_alloc_descs __devm_of_phy_provider_register @@ -115,6 +116,7 @@ __pm_runtime_suspend __pm_runtime_use_autosuspend __pm_stay_awake + __printk_ratelimit __pskb_pull_tail __put_cred __put_page @@ -136,6 +138,7 @@ __sdhci_add_host __sg_page_iter_next __sg_page_iter_start + __skb_get_hash __skb_pad __spi_alloc_controller __spi_register_driver @@ -149,13 +152,17 @@ __tasklet_hi_schedule __tasklet_schedule __trace_bprintk + __trace_puts + __tracepoint_android_vh_ipi_stop __tracepoint_android_vh_is_fpsimd_save __tracepoint_android_vh_kfree_skb __tracepoint_android_vh_ptype_head __tracepoint_device_pm_callback_end __tracepoint_device_pm_callback_start + __tracepoint_gpu_mem_total __tracepoint_pelt_cfs_tp __tracepoint_suspend_resume + __tty_alloc_driver __tty_insert_flip_char __udelay __uio_register_device @@ -253,6 +260,7 @@ bitmap_zalloc blk_execute_rq_nowait blk_get_request + blk_lookup_devt blk_mq_rq_cpu blk_put_request blk_queue_bounce_limit @@ -262,6 +270,7 @@ blk_rq_map_user_iov blk_rq_unmap_user blk_verify_command + blkdev_get_by_dev blkdev_get_by_path blkdev_put blocking_notifier_call_chain @@ -289,10 +298,12 @@ bus_unregister bus_unregister_notifier cache_line_size + call_rcu cancel_delayed_work cancel_delayed_work_sync cancel_work_sync capable + cdc_parse_cdc_header cdev_add cdev_alloc cdev_del @@ -428,6 +439,7 @@ cpufreq_register_notifier cpufreq_table_index_unsorted cpufreq_unregister_driver + cpufreq_unregister_notifier cpuhp_tasks_frozen cpuidle_pause_and_lock cpuidle_resume_and_unlock @@ -435,6 +447,7 @@ cpumask_next_and cpus_read_lock cpus_read_unlock + crc16 crc32_le crc8 crc8_populate_msb @@ -444,10 +457,12 @@ crypto_register_rngs crypto_shash_digest crypto_unregister_rngs + csum_partial d_add d_drop d_instantiate d_make_root + d_path dapm_pinctrl_event dapm_regulator_event datagram_poll @@ -702,6 +717,7 @@ downgrade_write dput drain_workqueue + driver_attach driver_find driver_find_device driver_register @@ -935,7 +951,9 @@ eth_type_trans eth_validate_addr ether_setup + ethtool_convert_legacy_u32_to_link_mode ethtool_op_get_link + ethtool_op_get_ts_info event_triggers_call extcon_find_edev_by_node extcon_get_edev_by_phandle @@ -949,6 +967,8 @@ fb_mode_option fd_install fget + filp_close + filp_open find_get_pid find_last_bit find_next_bit @@ -972,6 +992,7 @@ free_pages_exact free_percpu free_percpu_irq + free_reserved_area freezing_slow_path freq_qos_add_request freq_qos_remove_request @@ -1000,6 +1021,7 @@ generic_file_read_iter generic_file_splice_read generic_handle_irq + generic_mii_ioctl generic_read_dir generic_shutdown_super genl_register_family @@ -1013,6 +1035,8 @@ get_pid_task get_random_bytes get_random_u32 + get_task_exe_file + get_task_mm get_task_pid get_thermal_instance get_unmapped_area @@ -1145,6 +1169,9 @@ idr_preload idr_remove idr_replace + ieee80211_channel_to_freq_khz + ieee80211_freq_khz_to_channel + ieee80211_get_channel_khz iget5_locked ignore_console_lock_warning ihold @@ -1297,6 +1324,7 @@ jiffies_64_to_clock_t jiffies_to_msecs jiffies_to_usecs + jiffies64_to_msecs kasprintf kern_path kernel_bind @@ -1428,6 +1456,7 @@ media_entity_pads_init media_entity_remove_links media_remove_intf_links + memblock_free memchr memcmp memcpy @@ -1441,6 +1470,9 @@ memweight mfd_add_devices mfd_remove_devices + mii_check_media + mii_ethtool_gset + mii_nway_restart mipi_dsi_create_packet mipi_dsi_dcs_set_display_brightness mipi_dsi_dcs_set_tear_off @@ -1464,6 +1496,7 @@ mmc_request_done mmc_send_tuning mmc_wait_for_req + mmput mod_delayed_work_on mod_node_page_state mod_timer @@ -1482,7 +1515,10 @@ napi_gro_flush napi_gro_receive napi_schedule_prep + netdev_err + netdev_info netdev_update_features + netdev_warn netif_carrier_off netif_carrier_on netif_device_attach @@ -1490,8 +1526,10 @@ netif_napi_add netif_napi_del netif_receive_skb + netif_receive_skb_list netif_rx netif_rx_ni + netif_schedule_queue netif_tx_wake_queue netlink_broadcast netlink_kernel_release @@ -1558,6 +1596,7 @@ of_get_child_by_name of_get_cpu_node of_get_dma_window + of_get_mac_address of_get_named_gpio_flags of_get_next_available_child of_get_next_child @@ -1780,8 +1819,11 @@ proc_symlink proto_register proto_unregister + pskb_expand_head put_device put_disk + put_pid + put_tty_driver put_unused_fd pwm_apply_state pwm_get_chip_data @@ -1938,12 +1980,14 @@ rtnl_lock rtnl_unlock save_stack_trace + save_stack_trace_tsk sched_clock sched_setscheduler sched_setscheduler_nocheck sched_show_task schedule schedule_timeout + schedule_timeout_interruptible schedule_timeout_uninterruptible scmd_printk scnprintf @@ -1997,6 +2041,7 @@ seq_putc seq_puts seq_read + seq_release set_anon_super set_cpus_allowed_ptr set_normalized_timespec64 @@ -2202,6 +2247,7 @@ sock_release sock_unregister sock_wfree + softnet_data sort spi_bus_type spi_controller_resume @@ -2293,6 +2339,12 @@ system_wq tasklet_init tasklet_kill + tcp_register_congestion_control + tcp_reno_cong_avoid + tcp_reno_ssthresh + tcp_reno_undo_cwnd + tcp_slow_start + tcp_unregister_congestion_control thermal_cdev_update thermal_cooling_device_unregister thermal_of_cooling_device_register @@ -2322,9 +2374,30 @@ try_module_get try_wait_for_completion tty_flip_buffer_push + tty_hangup tty_insert_flip_string_fixed_flag tty_kref_put + tty_ldisc_deref + tty_ldisc_ref + tty_port_close + tty_port_destroy + tty_port_hangup + tty_port_init + tty_port_open + tty_port_put + tty_port_register_device tty_port_tty_get + tty_port_tty_hangup + tty_port_tty_wakeup + tty_register_driver + tty_set_operations + tty_standard_install + tty_std_termios + tty_termios_baud_rate + tty_termios_copy_hw + tty_unregister_device + tty_unregister_driver + tty_vhangup typec_altmode_get_partner typec_altmode_update_active typec_get_drvdata @@ -2408,6 +2481,7 @@ usb_alloc_dev usb_alloc_streams usb_alloc_urb + usb_altnum_to_altsetting usb_amd_dev_put usb_amd_pt_check_port usb_amd_quirk_pll_check @@ -2417,8 +2491,10 @@ usb_asmedia_modifyflowcontrol usb_assign_descriptors usb_autopm_get_interface + usb_autopm_get_interface_async usb_autopm_get_interface_no_resume usb_autopm_put_interface + usb_autopm_put_interface_async usb_autopm_put_interface_no_suspend usb_bulk_msg usb_choose_configuration @@ -2469,6 +2545,7 @@ usb_get_current_frame_number usb_get_dev usb_get_dr_mode + usb_get_from_anchor usb_get_intf usb_get_maximum_speed usb_get_urb @@ -2497,6 +2574,7 @@ usb_kill_anchored_urbs usb_kill_urb usb_lock_device_for_reset + usb_match_id usb_match_one_id usb_os_desc_prepare_interf_dir usb_otg_state_string @@ -2522,15 +2600,48 @@ usb_sg_cancel usb_sg_init usb_sg_wait + usb_show_dynids usb_speed_string + usb_store_new_id usb_string usb_string_id usb_submit_urb usb_unanchor_urb usb_unlink_urb + usb_unpoison_urb usb_unregister_notify usb_wait_anchor_empty_timeout usb_wakeup_notification + usbnet_change_mtu + usbnet_defer_kevent + usbnet_disconnect + usbnet_get_drvinfo + usbnet_get_endpoints + usbnet_get_ethernet_addr + usbnet_get_link + usbnet_get_link_ksettings + usbnet_get_msglevel + usbnet_get_stats64 + usbnet_link_change + usbnet_manage_power + usbnet_nway_reset + usbnet_open + usbnet_probe + usbnet_read_cmd + usbnet_read_cmd_nopm + usbnet_resume + usbnet_set_link_ksettings + usbnet_set_msglevel + usbnet_skb_return + usbnet_start_xmit + usbnet_stop + usbnet_suspend + usbnet_tx_timeout + usbnet_unlink_rx_urbs + usbnet_update_max_qlen + usbnet_write_cmd + usbnet_write_cmd_async + usbnet_write_cmd_nopm user_path_at_empty usleep_range v4l_bound_align_image @@ -2668,6 +2779,7 @@ wake_up_process wakeup_source_add wakeup_source_register + wakeup_source_remove wakeup_source_unregister watchdog_init_timeout watchdog_register_device From d2a52d0eaaa1bfa70fe60612a48a636264824e44 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 20 Oct 2020 18:20:52 +0200 Subject: [PATCH 03/15] Revert "ANDROID: GKI: fix ABI breakage in module.h" This reverts commit db96212bdede8915d9769eddcd378f70a8e4d279 as it is not needed if we are able to update the Android KABI. Fixes: db96212bdede ("ANDROID: GKI: fix ABI breakage in module.h") Signed-off-by: Greg Kroah-Hartman Change-Id: Ic6f4f449e554240457e1f94c49b53fa158f0d00e --- include/linux/module.h | 8 ++------ kernel/module.c | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/include/linux/module.h b/include/linux/module.h index 5246cbce5881..4f71785d6bbd 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -346,11 +346,6 @@ struct klp_modinfo { }; #endif -struct module_kabi_preserve_1 { - u64 using_gplonly_symbols:1; - u64 free:63; -}; - struct module { enum module_state state; @@ -387,6 +382,7 @@ struct module { unsigned int num_gpl_syms; const struct kernel_symbol *gpl_syms; const s32 *gpl_crcs; + bool using_gplonly_symbols; #ifdef CONFIG_UNUSED_SYMBOLS /* unused exported symbols. */ @@ -520,7 +516,7 @@ struct module { struct error_injection_entry *ei_funcs; unsigned int num_ei_funcs; #endif - ANDROID_KABI_USE(1, struct module_kabi_preserve_1 m1); + ANDROID_KABI_RESERVE(1); ANDROID_KABI_RESERVE(2); ANDROID_KABI_RESERVE(3); ANDROID_KABI_RESERVE(4); diff --git a/kernel/module.c b/kernel/module.c index 36e15ead5a80..901a6e4158af 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1432,7 +1432,7 @@ static bool inherit_taint(struct module *mod, struct module *owner) if (!owner || !test_bit(TAINT_PROPRIETARY_MODULE, &owner->taints)) return true; - if (mod->m1.using_gplonly_symbols) { + if (mod->using_gplonly_symbols) { pr_err("%s: module using GPL-only symbols uses symbols from proprietary module %s.\n", mod->name, owner->name); return false; @@ -1471,7 +1471,7 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod, goto unlock; if (license == GPL_ONLY) - mod->m1.using_gplonly_symbols = true; + mod->using_gplonly_symbols = true; if (!inherit_taint(mod, owner)) { sym = NULL; From aa445f97a0ef2223df9e3346f1964a01aa8c7e4a Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 20 Oct 2020 15:26:37 -0700 Subject: [PATCH 04/15] ANDROID: fscrypt: prevent fscrypt_operations from affecting KMI 'struct fscrypt_operations' is only used by fs/crypto/ (which is always built-in) and by three filesystems (which are either built-in to GKI, in the case of ext4 and f2fs, or aren't supported by Android, in the case of ubifs). The only way a loadable module could use fscrypt_operations is if the module were a filesystem that used fs/crypto/, which isn't possible since KMI symbol list doesn't include anything in fs/crypto/. However, any change to struct fscrypt_operations changes the symbol CRC of most of the KMI functions exported by any files fs/*.c that include . This is because the definition of fscrypt_operations is visible to them, and in principle it's possible to get to fscrypt_operations from most VFS structs (e.g. inode->i_sb->s_cop), even though there's no reason to do so outside the crypto code. Work around this by putting the definition of struct fscrypt_operations behind #ifdef FSCRYPT_NEED_OPS, and only defining this in the files that actually need the definition. (It could be moved into a separate header instead, but this way keeps the diff from upstream smaller.) This will cause a one-time CRC change of all the affected KMI functions, but afterwards any changes to fscrypt_operations won't "break the KMI". Bug: 170265596 Test: re-generated the ABI, changed struct fscrypt_operations (and struct fscrypt_info as well, just in case), re-generated the ABI again, and verified it didn't change. Change-Id: Ib5dd49550aec81a64b3d6077a0aeb5747be908ff Signed-off-by: Eric Biggers Signed-off-by: Greg Kroah-Hartman --- fs/crypto/fscrypt_private.h | 1 + fs/ext4/ext4.h | 1 + fs/f2fs/f2fs.h | 1 + fs/ubifs/ubifs.h | 1 + include/linux/fscrypt.h | 6 ++++++ 5 files changed, 10 insertions(+) diff --git a/fs/crypto/fscrypt_private.h b/fs/crypto/fscrypt_private.h index 588c61c274f5..ea28dd500d2b 100644 --- a/fs/crypto/fscrypt_private.h +++ b/fs/crypto/fscrypt_private.h @@ -11,6 +11,7 @@ #ifndef _FSCRYPT_PRIVATE_H #define _FSCRYPT_PRIVATE_H +#define FSCRYPT_NEED_OPS #include #include #include diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 75f97bf2e507..3ce93d7484cf 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -40,6 +40,7 @@ #include #endif +#define FSCRYPT_NEED_OPS #include #include diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 1cf0dde4799c..0ac02697ed1c 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -24,6 +24,7 @@ #include #include +#define FSCRYPT_NEED_OPS #include #include diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h index bff682309fbe..5d20ba451463 100644 --- a/fs/ubifs/ubifs.h +++ b/fs/ubifs/ubifs.h @@ -31,6 +31,7 @@ #include #include +#define FSCRYPT_NEED_OPS #include #include "ubifs-media.h" diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h index 0e28e81aee8a..f226673dd447 100644 --- a/include/linux/fscrypt.h +++ b/include/linux/fscrypt.h @@ -53,6 +53,7 @@ struct fscrypt_name { */ #define FS_CFLG_OWN_PAGES (1U << 1) +#ifdef FSCRYPT_NEED_OPS /* * crypto operations for filesystems */ @@ -74,6 +75,7 @@ struct fscrypt_operations { void (*get_devices)(struct super_block *sb, struct request_queue **devs); }; +#endif static inline bool fscrypt_has_encryption_key(const struct inode *inode) { @@ -97,6 +99,7 @@ static inline bool fscrypt_needs_contents_encryption(const struct inode *inode) return IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode); } +#ifdef FSCRYPT_NEED_OPS static inline const union fscrypt_context * fscrypt_get_dummy_context(struct super_block *sb) { @@ -104,6 +107,7 @@ fscrypt_get_dummy_context(struct super_block *sb) return NULL; return sb->s_cop->get_dummy_context(sb); } +#endif /* * When d_splice_alias() moves a directory's encrypted alias to its decrypted @@ -801,6 +805,7 @@ static inline int fscrypt_prepare_setattr(struct dentry *dentry, * -ENOKEY if the encryption key is missing, or another -errno code if a problem * occurred while setting up the encryption key. */ +#ifdef FSCRYPT_NEED_OPS static inline int fscrypt_prepare_symlink(struct inode *dir, const char *target, unsigned int len, @@ -816,6 +821,7 @@ static inline int fscrypt_prepare_symlink(struct inode *dir, return -ENAMETOOLONG; return 0; } +#endif /** * fscrypt_encrypt_symlink() - encrypt the symlink target if needed From 854f380681abaaf92deff25b65027dfe8d0f2fe7 Mon Sep 17 00:00:00 2001 From: Alessio Balsini Date: Tue, 27 Oct 2020 13:24:03 +0000 Subject: [PATCH 05/15] ANDROID: vfs: add d_canonical_path for stacked filesystem support Inotify does not currently know when a filesystem is acting as a wrapper around another fs. This means that inotify watchers will miss any modifications to the base file, as well as any made in a separate stacked fs that points to the same file. d_canonical_path solves this problem by allowing the fs to map a dentry to a path in the lower fs. Inotify can use it to find the appropriate place to watch to be informed of all changes to a file. Test: HiKey/X15 + Pie + android-mainline, and HiKey + AOSP Maser + android-mainline, directories under /sdcard created, output of mount is right, CTS test collecting device infor works Bug: 171780975 Change-Id: I09563baffad1711a045e45c1bd0bd8713c2cc0b6 Signed-off-by: Daniel Rosenberg [astrachan: Folded 34df4102216e ("ANDROID: fsnotify: Notify lower fs of open") into this patch] Signed-off-by: Alistair Strachan Signed-off-by: Yongqin Liu Signed-off-by: Alessio Balsini --- fs/notify/inotify/inotify_user.c | 16 ++++++++++++++-- include/linux/dcache.h | 1 + include/linux/fsnotify.h | 7 +++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c index 81ffc8629fc4..a8c3f31e5eca 100644 --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c @@ -701,6 +701,8 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname, struct fsnotify_group *group; struct inode *inode; struct path path; + struct path alteredpath; + struct path *canonical_path = &path; struct fd f; int ret; unsigned flags = 0; @@ -747,13 +749,23 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname, if (ret) goto fput_and_out; + /* support stacked filesystems */ + if (path.dentry && path.dentry->d_op) { + if (path.dentry->d_op->d_canonical_path) { + path.dentry->d_op->d_canonical_path(&path, + &alteredpath); + canonical_path = &alteredpath; + path_put(&path); + } + } + /* inode held in place by reference to path; group by fget on fd */ - inode = path.dentry->d_inode; + inode = canonical_path->dentry->d_inode; group = f.file->private_data; /* create/update an inode mark */ ret = inotify_update_watch(group, inode, mask); - path_put(&path); + path_put(canonical_path); fput_and_out: fdput(f); return ret; diff --git a/include/linux/dcache.h b/include/linux/dcache.h index a96334500f39..48f86c805676 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h @@ -151,6 +151,7 @@ struct dentry_operations { struct vfsmount *(*d_automount)(struct path *); int (*d_manage)(const struct path *, bool); struct dentry *(*d_real)(struct dentry *, const struct inode *); + void (*d_canonical_path)(const struct path *, struct path *); ANDROID_KABI_RESERVE(1); ANDROID_KABI_RESERVE(2); diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h index a2d5d175d3c1..e018872b047c 100644 --- a/include/linux/fsnotify.h +++ b/include/linux/fsnotify.h @@ -262,6 +262,7 @@ static inline void fsnotify_modify(struct file *file) static inline void fsnotify_open(struct file *file) { const struct path *path = &file->f_path; + struct path lower_path; struct inode *inode = file_inode(file); __u32 mask = FS_OPEN; @@ -270,6 +271,12 @@ static inline void fsnotify_open(struct file *file) if (file->f_flags & __FMODE_EXEC) mask |= FS_OPEN_EXEC; + if (path->dentry->d_op && path->dentry->d_op->d_canonical_path) { + path->dentry->d_op->d_canonical_path(path, &lower_path); + fsnotify_parent(&lower_path, NULL, mask); + fsnotify(lower_path.dentry->d_inode, mask, &lower_path, FSNOTIFY_EVENT_PATH, NULL, 0); + path_put(&lower_path); + } fsnotify_path(inode, path, mask); } From 24ab59f6bb42d609543b913e2402137c35b39f35 Mon Sep 17 00:00:00 2001 From: Daniel Rosenberg Date: Fri, 22 Apr 2016 00:00:48 -0700 Subject: [PATCH 06/15] ANDROID: fuse: Add support for d_canonical_path Allows FUSE to report to inotify that it is acting as a layered filesystem. The userspace component returns a string representing the location of the underlying file. If the string cannot be resolved into a path, the top level path is returned instead. Bug: 23904372 Bug: 171780975 Test: inotify on cuttlefish Change-Id: Iabdca0bbedfbff59e9c820c58636a68ef9683d9f Signed-off-by: Daniel Rosenberg Signed-off-by: Alessio Balsini --- fs/fuse/dev.c | 7 +++++++ fs/fuse/dir.c | 37 +++++++++++++++++++++++++++++++++++++ fs/fuse/fuse_i.h | 3 +++ include/uapi/linux/fuse.h | 1 + 4 files changed, 48 insertions(+) diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 06dd38e76c62..18232eab80ed 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -1899,6 +1900,12 @@ static ssize_t fuse_dev_do_write(struct fuse_dev *fud, err = copy_out_args(cs, req->args, nbytes); fuse_copy_finish(cs); + if (!err && req->in.h.opcode == FUSE_CANONICAL_PATH) { + char *path = (char *)req->args->out_args[0].value; + path[req->args->out_args[0].size - 1] = 0; + req->out.h.error = kern_path(path, 0, req->args->canonical_path); + } + spin_lock(&fpq->lock); clear_bit(FR_LOCKED, &req->flags); if (!fpq->connected) diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index ee190119f45c..ebd1927b2f61 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -298,6 +298,42 @@ static int fuse_dentry_delete(const struct dentry *dentry) return time_before64(fuse_dentry_time(dentry), get_jiffies_64()); } +/* + * Get the canonical path. Since we must translate to a path, this must be done + * in the context of the userspace daemon, however, the userspace daemon cannot + * look up paths on its own. Instead, we handle the lookup as a special case + * inside of the write request. + */ +static void fuse_dentry_canonical_path(const struct path *path, struct path *canonical_path) { + struct inode *inode = d_inode(path->dentry); + struct fuse_conn *fc = get_fuse_conn(inode); + FUSE_ARGS(args); + char *path_name; + int err; + + path_name = (char*)__get_free_page(GFP_KERNEL); + if (!path_name) + goto default_path; + + args.opcode = FUSE_CANONICAL_PATH; + args.nodeid = get_node_id(inode); + args.in_numargs = 0; + args.out_numargs = 1; + args.out_args[0].size = PATH_MAX; + args.out_args[0].value = path_name; + args.canonical_path = canonical_path; + args.out_argvar = 1; + + err = fuse_simple_request(fc, &args); + free_page((unsigned long)path_name); + if (err > 0) + return; +default_path: + canonical_path->dentry = path->dentry; + canonical_path->mnt = path->mnt; + path_get(canonical_path); +} + const struct dentry_operations fuse_dentry_operations = { .d_revalidate = fuse_dentry_revalidate, .d_delete = fuse_dentry_delete, @@ -305,6 +341,7 @@ const struct dentry_operations fuse_dentry_operations = { .d_init = fuse_dentry_init, .d_release = fuse_dentry_release, #endif + .d_canonical_path = fuse_dentry_canonical_path, }; const struct dentry_operations fuse_root_dentry_operations = { diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index d7cde216fc87..bf040533bed3 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -253,6 +253,9 @@ struct fuse_args { struct fuse_in_arg in_args[3]; struct fuse_arg out_args[2]; void (*end)(struct fuse_conn *fc, struct fuse_args *args, int error); + + /* Path used for completing d_canonical_path */ + struct path *canonical_path; }; struct fuse_args_pages { diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 373cada89815..0a88b2179fda 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h @@ -465,6 +465,7 @@ enum fuse_opcode { FUSE_COPY_FILE_RANGE = 47, FUSE_SETUPMAPPING = 48, FUSE_REMOVEMAPPING = 49, + FUSE_CANONICAL_PATH = 2016, /* CUSE specific operations */ CUSE_INIT = 4096, From b3d5bbd878b0cf6c582568a5a916f657a7aea556 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 27 Oct 2020 19:03:10 +0100 Subject: [PATCH 07/15] ANDROID: GKI: add vendor padding variable in struct sock Some vendors want to add things to 'struct sock', so give them a u64 where they can then have a pointer off to their private data and they can do whatever they want to do without breaking or changing any abi for anyone else. Note, usually an android trace hook is also needed to use this properly, so be aware that this will be required as well. Bug: 171013716 Signed-off-by: Greg Kroah-Hartman Change-Id: I8fdea13b185fba26010e2a2bf397d7982a8fa16e --- include/net/sock.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/net/sock.h b/include/net/sock.h index fb048b2c2c41..eb3c7e89b474 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -69,6 +69,7 @@ #include #include #include +#include /* * This structure really needs to be cleaned up. @@ -521,6 +522,8 @@ struct sock { ANDROID_KABI_RESERVE(6); ANDROID_KABI_RESERVE(7); ANDROID_KABI_RESERVE(8); + + ANDROID_VENDOR_DATA(1); }; enum sk_pacing { From 20dd49792aec66ffab7b046fa431700116dc121d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 28 Oct 2020 08:38:30 +0100 Subject: [PATCH 08/15] ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle Some vendors want to add a field when a 'sruct sock' is added so give a hook to handle this. Any memory allocated when trace_android_rvh_sk_alloc() is called needs to be freed when trace_android_rvh_sk_free() is called. Note, if trace_android_rvh_sk_alloc() fails, be sure to be able to handle this in trace_android_rvh_sk_free(), but that should not be an issue as that needs to be addressed in vendor code that runs for 'struct sock' objects that have been created before the vendor code is loaded no matter what. Bug: 171013716 Signed-off-by: Greg Kroah-Hartman Change-Id: I9ed93e8bffef3cd8fbde4d62fc14596764a85304 --- drivers/android/vendor_hooks.c | 2 ++ include/trace/hooks/net.h | 7 +++++++ net/core/sock.c | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index a1839ddcf05b..7c1467ac24e9 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -47,6 +47,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rwsem_write_wait_finish); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_show_task); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ptype_head); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kfree_skb); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sk_alloc); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sk_free); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority); diff --git a/include/trace/hooks/net.h b/include/trace/hooks/net.h index fee1e84fa61a..669a2bc2be8a 100644 --- a/include/trace/hooks/net.h +++ b/include/trace/hooks/net.h @@ -13,14 +13,21 @@ struct packet_type; struct list_head; struct sk_buff; +struct sock; DECLARE_HOOK(android_vh_ptype_head, TP_PROTO(const struct packet_type *pt, struct list_head *vendor_pt), TP_ARGS(pt, vendor_pt)); DECLARE_HOOK(android_vh_kfree_skb, TP_PROTO(struct sk_buff *skb), TP_ARGS(skb)); +DECLARE_RESTRICTED_HOOK(android_rvh_sk_alloc, + TP_PROTO(struct sock *sock), TP_ARGS(sock), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_sk_free, + TP_PROTO(struct sock *sock), TP_ARGS(sock), 1); #else #define trace_android_vh_ptype_head(pt, vendor_pt) #define trace_android_vh_kfree_skb(skb) +#define trace_android_rvh_sk_alloc(sock) +#define trace_android_rvh_sk_free(sock) #endif #endif /* _TRACE_HOOK_NET_VH_H */ /* This part must be outside protection */ diff --git a/net/core/sock.c b/net/core/sock.c index 919f1a1739e9..f87c9f7577fe 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -134,6 +134,7 @@ #include #include +#include #include #include @@ -1608,6 +1609,8 @@ static struct sock *sk_prot_alloc(struct proto *prot, gfp_t priority, if (security_sk_alloc(sk, family, priority)) goto out_free; + trace_android_rvh_sk_alloc(sk); + if (!try_module_get(prot->owner)) goto out_free_sec; sk_tx_queue_clear(sk); @@ -1617,6 +1620,7 @@ static struct sock *sk_prot_alloc(struct proto *prot, gfp_t priority, out_free_sec: security_sk_free(sk); + trace_android_rvh_sk_free(sk); out_free: if (slab != NULL) kmem_cache_free(slab, sk); @@ -1636,6 +1640,7 @@ static void sk_prot_free(struct proto *prot, struct sock *sk) cgroup_sk_free(&sk->sk_cgrp_data); mem_cgroup_sk_free(sk); security_sk_free(sk); + trace_android_rvh_sk_free(sk); if (slab != NULL) kmem_cache_free(slab, sk); else From 0bc7257c7fe5f3a4a025fd1c112bef2fbc62fcf5 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 29 Oct 2020 12:44:32 +0100 Subject: [PATCH 09/15] ANDROID: GKI: add vendor padding variable in struct nf_conn Some vendors want to add things to 'struct nf_conn', so give them a u64 where they can then have a pointer off to their private data and they can do whatever they want to do without breaking or changing any abi for anyone else. Note, usually an android trace hook is also needed to use this properly, so be aware that this will be required as well. Bug: 171013716 Signed-off-by: Greg Kroah-Hartman Change-Id: I303d237116f2f1ef6035af98f00436278ec1c23b --- include/net/netfilter/nf_conntrack.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index 90690e37a56f..2bde4065553a 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -105,6 +106,8 @@ struct nf_conn { /* Storage reserved for other modules, must be the last member */ union nf_conntrack_proto proto; + + ANDROID_VENDOR_DATA(1); }; static inline struct nf_conn * From 01435b2e919bf5fb121d5e9c35c90f00c4367904 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 29 Oct 2020 12:50:06 +0100 Subject: [PATCH 10/15] ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle Some vendors want to add a field when a 'sruct nf_conn' is added so give a hook to handle this. Any memory allocated when trace_android_rvh_nf_conn_alloc() is called needs to be freed when trace_android_rvh_nf_conn_free() is called. Note, if trace_android_rvh_nf_conn_alloc() fails, be sure to be able to handle this in trace_android_rvh_nf_conn_free(), but that should not be an issue as that needs to be addressed in vendor code that runs for 'struct nf_conn' objects that have been created before the vendor code is loaded no matter what. Bug: 171013716 Signed-off-by: Greg Kroah-Hartman Change-Id: I67a9be129150690f8c1961accf7d5cdf0d5d50cc --- drivers/android/vendor_hooks.c | 4 +++- include/trace/hooks/net.h | 8 ++++++++ net/netfilter/nf_conntrack_core.c | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 7c1467ac24e9..d95612b7d29a 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -49,6 +49,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ptype_head); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kfree_skb); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sk_alloc); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sk_free); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_nf_conn_alloc); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_nf_conn_free); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_arch_set_freq_scale); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority); @@ -64,4 +66,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_store); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_regs); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group); \ No newline at end of file +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group); diff --git a/include/trace/hooks/net.h b/include/trace/hooks/net.h index 669a2bc2be8a..73ae65a10e57 100644 --- a/include/trace/hooks/net.h +++ b/include/trace/hooks/net.h @@ -14,6 +14,8 @@ struct packet_type; struct list_head; struct sk_buff; struct sock; +struct nf_conn; + DECLARE_HOOK(android_vh_ptype_head, TP_PROTO(const struct packet_type *pt, struct list_head *vendor_pt), TP_ARGS(pt, vendor_pt)); @@ -23,11 +25,17 @@ DECLARE_RESTRICTED_HOOK(android_rvh_sk_alloc, TP_PROTO(struct sock *sock), TP_ARGS(sock), 1); DECLARE_RESTRICTED_HOOK(android_rvh_sk_free, TP_PROTO(struct sock *sock), TP_ARGS(sock), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_nf_conn_alloc, + TP_PROTO(struct nf_conn *nf_conn), TP_ARGS(nf_conn), 1); +DECLARE_RESTRICTED_HOOK(android_rvh_nf_conn_free, + TP_PROTO(struct nf_conn *nf_conn), TP_ARGS(nf_conn), 1); #else #define trace_android_vh_ptype_head(pt, vendor_pt) #define trace_android_vh_kfree_skb(skb) #define trace_android_rvh_sk_alloc(sock) #define trace_android_rvh_sk_free(sock) +#define trace_android_rvh_sk_alloc(nf_conn) +#define trace_android_rvh_sk_free(nf_conn) #endif #endif /* _TRACE_HOOK_NET_VH_H */ /* This part must be outside protection */ diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 200cdad3ff3a..3d4cf16dc0a9 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -1387,6 +1388,8 @@ __nf_conntrack_alloc(struct net *net, nf_ct_zone_add(ct, zone); + trace_android_rvh_nf_conn_alloc(ct); + /* Because we use RCU lookups, we set ct_general.use to zero before * this is inserted in any list. */ @@ -1420,6 +1423,7 @@ void nf_conntrack_free(struct nf_conn *ct) nf_ct_ext_free(ct); kmem_cache_free(nf_conntrack_cachep, ct); smp_mb__before_atomic(); + trace_android_rvh_nf_conn_free(ct); atomic_dec(&net->ct.count); } EXPORT_SYMBOL_GPL(nf_conntrack_free); From 0709341102f32edc3a801e5486e47ac8ac627eb4 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 30 Oct 2020 10:00:02 +0100 Subject: [PATCH 11/15] ANDROID: GKI: add vendor padding variable in struct skb_shared_info Some vendors want to add things to 'struct skb_shared_info', so give them an array to place their data. Bug: 171013716 Signed-off-by: Greg Kroah-Hartman Change-Id: Ifaa5942550794b747e9624124c785a0bc85dfe17 --- include/linux/skbuff.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 89301656f985..f26daba301b0 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -41,6 +41,7 @@ #include #endif #include +#include /* The interface for checksum offload between the stack and networking drivers * is as follows... @@ -530,6 +531,8 @@ struct skb_shared_info { * remains valid until skb destructor */ void * destructor_arg; + ANDROID_VENDOR_DATA_ARRAY(1, 3); + /* must be last field, see pskb_expand_head() */ skb_frag_t frags[MAX_SKB_FRAGS]; }; From 95dc56610185b6183621dec7a43c2866ad5154c6 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 30 Oct 2020 09:52:06 +0100 Subject: [PATCH 12/15] ANDROID: GKI: add Android ABI padding to struct nf_conn Try to mitigate potential future driver core api changes by adding padding to struct nf_conn; Bug: 151154716 Signed-off-by: Greg Kroah-Hartman Change-Id: Ib18a9a929d351c66556f1f27b217cbf22b733a10 --- include/net/netfilter/nf_conntrack.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index 2bde4065553a..502a817bf792 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -107,6 +108,9 @@ struct nf_conn { /* Storage reserved for other modules, must be the last member */ union nf_conntrack_proto proto; + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_VENDOR_DATA(1); }; From d1f4f1327d9643212c81ad7957f4f3a40aaac631 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 31 Oct 2020 09:34:40 +0100 Subject: [PATCH 13/15] ANDROID: GKI: ABI update for Oct 31 KABI break Leaf changes summary: 3380 artifacts changed (154 filtered out) Changed leaf types summary: 282 (120 filtered out) leaf types changed Removed/Changed/Added functions summary: 0 Removed, 3052 Changed (32 filtered out), 0 Added function Removed/Changed/Added variables summary: 0 Removed, 46 Changed (2 filtered out), 0 Added variable 3052 functions with some sub-type change: 46 Changed variables: 'struct dentry_operations at dcache.h:139:1' changed: type size hasn't changed 1 data member insertion: 'void (const path*, path*)* dentry_operations::d_canonical_path', at offset 832 (in bits) at dcache.h:154:1 there are data member changes: 'u64 dentry_operations::android_kabi_reserved1' offset changed from 832 to 896 (in bits) (by +64 bits) 'u64 dentry_operations::android_kabi_reserved2' offset changed from 896 to 960 (in bits) (by +64 bits) 'u64 dentry_operations::android_kabi_reserved3' offset changed from 960 to 1024 (in bits) (by +64 bits) 'u64 dentry_operations::android_kabi_reserved4' offset changed from 1024 to 1088 (in bits) (by +64 bits) 3330 impacted interfaces 'struct inet_connection_sock at inet_connection_sock.h:87:1' changed (indirectly): type size changed from 11840 to 11904 (in bits) there are data member changes: type 'struct inet_sock' of 'inet_connection_sock::icsk_inet' changed: type size changed from 8320 to 8384 (in bits) there are data member changes: type 'struct sock' of 'inet_sock::sk' changed: type size changed from 6656 to 6720 (in bits) 1 data member insertion: 'u64 sock::android_vendor_data1', at offset 6656 (in bits) at sock.h:526:1 422 impacted interfaces 'ipv6_pinfo* inet_sock::pinet6' offset changed from 6656 to 6720 (in bits) (by +64 bits) '__be32 inet_sock::inet_saddr' offset changed from 6720 to 6784 (in bits) (by +64 bits) '__s16 inet_sock::uc_ttl' offset changed from 6752 to 6816 (in bits) (by +64 bits) '__u16 inet_sock::cmsg_flags' offset changed from 6768 to 6832 (in bits) (by +64 bits) '__be16 inet_sock::inet_sport' offset changed from 6784 to 6848 (in bits) (by +64 bits) '__u16 inet_sock::inet_id' offset changed from 6800 to 6864 (in bits) (by +64 bits) 'ip_options_rcu* inet_sock::inet_opt' offset changed from 6848 to 6912 (in bits) (by +64 bits) 'int inet_sock::rx_dst_ifindex' offset changed from 6912 to 6976 (in bits) (by +64 bits) '__u8 inet_sock::tos' offset changed from 6944 to 7008 (in bits) (by +64 bits) '__u8 inet_sock::min_ttl' offset changed from 6952 to 7016 (in bits) (by +64 bits) '__u8 inet_sock::mc_ttl' offset changed from 6960 to 7024 (in bits) (by +64 bits) '__u8 inet_sock::pmtudisc' offset changed from 6968 to 7032 (in bits) (by +64 bits) '__u8 inet_sock::nodefrag' offset changed from 6976 to 7040 (in bits) (by +64 bits) '__u8 inet_sock::rcv_tos' offset changed from 6992 to 7056 (in bits) (by +64 bits) '__u8 inet_sock::convert_csum' offset changed from 7000 to 7064 (in bits) (by +64 bits) 'int inet_sock::uc_index' offset changed from 7008 to 7072 (in bits) (by +64 bits) 'int inet_sock::mc_index' offset changed from 7040 to 7104 (in bits) (by +64 bits) '__be32 inet_sock::mc_addr' offset changed from 7072 to 7136 (in bits) (by +64 bits) 'ip_mc_socklist* inet_sock::mc_list' offset changed from 7104 to 7168 (in bits) (by +64 bits) 'inet_cork_full inet_sock::cork' offset changed from 7168 to 7232 (in bits) (by +64 bits) 2 impacted interfaces 'request_sock_queue inet_connection_sock::icsk_accept_queue' offset changed from 8320 to 8384 (in bits) (by +64 bits) 'inet_bind_bucket* inet_connection_sock::icsk_bind_hash' offset changed from 8960 to 9024 (in bits) (by +64 bits) 'unsigned long int inet_connection_sock::icsk_timeout' offset changed from 9024 to 9088 (in bits) (by +64 bits) 'timer_list inet_connection_sock::icsk_retransmit_timer' offset changed from 9088 to 9152 (in bits) (by +64 bits) 'timer_list inet_connection_sock::icsk_delack_timer' offset changed from 9536 to 9600 (in bits) (by +64 bits) '__u32 inet_connection_sock::icsk_rto' offset changed from 9984 to 10048 (in bits) (by +64 bits) '__u32 inet_connection_sock::icsk_pmtu_cookie' offset changed from 10016 to 10080 (in bits) (by +64 bits) 'const tcp_congestion_ops* inet_connection_sock::icsk_ca_ops' offset changed from 10048 to 10112 (in bits) (by +64 bits) 'const inet_connection_sock_af_ops* inet_connection_sock::icsk_af_ops' offset changed from 10112 to 10176 (in bits) (by +64 bits) 'const tcp_ulp_ops* inet_connection_sock::icsk_ulp_ops' offset changed from 10176 to 10240 (in bits) (by +64 bits) 'void* inet_connection_sock::icsk_ulp_data' offset changed from 10240 to 10304 (in bits) (by +64 bits) 'void (sock*, typedef u32)* inet_connection_sock::icsk_clean_acked' offset changed from 10304 to 10368 (in bits) (by +64 bits) 'hlist_node inet_connection_sock::icsk_listen_portaddr_node' offset changed from 10368 to 10432 (in bits) (by +64 bits) 'unsigned int (sock*, typedef u32)* inet_connection_sock::icsk_sync_mss' offset changed from 10496 to 10560 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_ca_dst_locked' offset changed from 10560 to 10624 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_retransmits' offset changed from 10568 to 10632 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_pending' offset changed from 10576 to 10640 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_backoff' offset changed from 10584 to 10648 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_syn_retries' offset changed from 10592 to 10656 (in bits) (by +64 bits) '__u8 inet_connection_sock::icsk_probes_out' offset changed from 10600 to 10664 (in bits) (by +64 bits) '__u16 inet_connection_sock::icsk_ext_hdr_len' offset changed from 10608 to 10672 (in bits) (by +64 bits) 'struct {__u8 pending; __u8 quick; __u8 pingpong; __u8 blocked; __u32 ato; unsigned long int timeout; __u32 lrcvtime; __u16 last_seg_size; __u16 rcv_mss;} inet_connection_sock::icsk_ack' offset changed from 10624 to 10688 (in bits) (by +64 bits) 'struct {int enabled; int search_high; int search_low; int probe_size; u32 probe_timestamp;} inet_connection_sock::icsk_mtup' offset changed from 10816 to 10880 (in bits) (by +64 bits) 'u32 inet_connection_sock::icsk_user_timeout' offset changed from 10976 to 11040 (in bits) (by +64 bits) 'u64 inet_connection_sock::icsk_ca_priv[13]' offset changed from 11008 to 11072 (in bits) (by +64 bits) 2 impacted interfaces 'struct module at module.h:354:1' changed: type size hasn't changed 1 data member insertion: 'bool module::using_gplonly_symbols', at offset 2688 (in bits) at module.h:385:1 there are data member changes: anonymous data member union {module_kabi_preserve_1 m1; struct {u64 android_kabi_reserved1;} __UNIQUE_ID_android_kabi_hide201; union {};} at offset 6848 (in bits) became data member 'u64 module::android_kabi_reserved1' 'bool module::sig_ok' offset changed from 2688 to 2696 (in bits) (by +8 bits) 'bool module::async_probe_requested' offset changed from 2696 to 2704 (in bits) (by +8 bits) 3330 impacted interfaces 'struct nf_conn at nf_conntrack.h:58:1' changed: type size changed from 2048 to 2240 (in bits) 3 data member insertions: 'u64 nf_conn::android_kabi_reserved1', at offset 2048 (in bits) at nf_conntrack.h:111:1 'u64 nf_conn::android_kabi_reserved2', at offset 2112 (in bits) at nf_conntrack.h:112:1 'u64 nf_conn::android_vendor_data1', at offset 2176 (in bits) at nf_conntrack.h:114:1 422 impacted interfaces Signed-off-by: Greg Kroah-Hartman Change-Id: Iec13bb17711b4337d6810b6eac45f755497c6ed8 --- android/abi_gki_aarch64.xml | 9947 +++++++++++++++++------------------ 1 file changed, 4698 insertions(+), 5249 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 86c4dcbfb904..4e4a7efe0ff0 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2,13 +2,13 @@ - - + + - - + + - + @@ -23,32 +23,32 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - + + + + - + @@ -56,68 +56,68 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - - - + + + - + - - - - - + + + + + - - + + - + - - + + @@ -129,100 +129,100 @@ - + - + - - - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - + - - + + - - - + + + - - + + - - - - + + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - + + + + @@ -230,45 +230,45 @@ - + - + - - + + - + - + - - - + + + - + - + - - - - - - - - - + + + + + + + + + @@ -296,15 +296,15 @@ - - + + - + @@ -312,26 +312,26 @@ - + - - - - + + + + - + - - - - - - + + + + + + - + - + @@ -339,247 +339,247 @@ - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -590,26 +590,26 @@ - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -617,82 +617,82 @@ - + - - + + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - + + - + - - - - - - - - - + + + + + + + + + - - + + - + - + - - + + - - - + + + @@ -707,108 +707,108 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -849,234 +849,234 @@ - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1091,21 +1091,21 @@ - - - - - - - - + + + + + + + + - + - - - + + + @@ -1114,16 +1114,16 @@ - - - - - - - + + + + + + + - + @@ -1132,416 +1132,416 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - + + + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - + - + - + - + - + - - - + + + - - - - - - - + + + + + + + @@ -1556,141 +1556,141 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - + - - - + + + - - + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - + + + - + @@ -1704,63 +1704,63 @@ - + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -1773,10 +1773,10 @@ - - - - + + + + @@ -1785,121 +1785,121 @@ - + - - + + - - - + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - - - - - - - + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -1907,133 +1907,133 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + - - - + + + @@ -2043,66 +2043,66 @@ - + - - - + + + - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + @@ -2115,15 +2115,15 @@ - - + + - + @@ -2141,25 +2141,25 @@ - - - - - + + + + + - - - + + + - - + + - - + + - - + + @@ -2177,28 +2177,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -2207,53 +2207,53 @@ - - - - + + + + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2276,99 +2276,99 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - + - - - - - - + + + + + + @@ -2377,192 +2377,192 @@ - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - + + - - - + + + - - - - + + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -2576,206 +2576,206 @@ - - - - - - + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2785,10 +2785,10 @@ - - - - + + + + @@ -2796,7 +2796,7 @@ - + @@ -2807,86 +2807,86 @@ - + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -2908,9 +2908,9 @@ - - - + + + @@ -2918,127 +2918,127 @@ - - - - - - + + + + + + - + - + - - - + + + - - + + - + - + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - + + @@ -3052,123 +3052,123 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - + + - + - - + + - + - - - - + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -3194,144 +3194,144 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - + - - - - + + + + - + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3346,234 +3346,234 @@ - - - - - - - - + + + + + + + + - - + + - + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3582,10 +3582,10 @@ - + - + @@ -3594,7 +3594,7 @@ - + @@ -3617,17 +3617,17 @@ - - - - + + + + - - - + + + - - + + @@ -3636,52 +3636,52 @@ - - - - + + + + - - - - - - + + + + + + - + - - - - - + + + + + - - - - - - + + + + + + - + - - - - - + + + + + - + @@ -3689,234 +3689,234 @@ - + - - - - - - + + + + + + - + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - + - - + + - + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - - + + - - + + - - - + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - + @@ -3929,307 +3929,307 @@ - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - + - + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - + + + + - - + + - - + + @@ -4244,28 +4244,28 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + @@ -4274,43 +4274,43 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4344,88 +4344,88 @@ - + - + - + - + - - - + + + - + - + - - + + - - + + - - + + - + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + @@ -4435,13 +4435,13 @@ - - + + - - - + + + @@ -4453,22 +4453,50 @@ - + - - + + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4551,6 +4579,7 @@ + @@ -4560,7 +4589,6 @@ - @@ -4673,7 +4701,7 @@ - + @@ -4835,7 +4863,7 @@ - + @@ -4984,7 +5012,7 @@ - + @@ -5054,258 +5082,258 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5321,38 +5349,38 @@ - + - + - + - + - + - + - - + + - + - + - + - + @@ -5405,202 +5433,205 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6843,7 +6874,7 @@ - + @@ -7393,7 +7424,7 @@ - + @@ -7877,7 +7908,7 @@ - + @@ -8823,7 +8854,7 @@ - + @@ -9042,7 +9073,7 @@ - + @@ -10100,7 +10131,7 @@ - + @@ -10437,7 +10468,7 @@ - + @@ -10948,16 +10979,19 @@ - + - + - + - + + + + @@ -11345,7 +11379,7 @@ - + @@ -11374,7 +11408,7 @@ - + @@ -11422,7 +11456,7 @@ - + @@ -12151,30 +12185,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -12355,7 +12365,7 @@ - + @@ -12363,7 +12373,7 @@ - + @@ -12371,7 +12381,7 @@ - + @@ -12877,6 +12887,7 @@ + @@ -13938,6 +13949,11 @@ + + + + + @@ -14158,31 +14174,31 @@ - + - + - + - + - + - + - + - + - + - + @@ -14196,7 +14212,7 @@ - + @@ -14283,12 +14299,12 @@ - + - + - + @@ -14358,12 +14374,12 @@ - + - + - + @@ -14416,12 +14432,12 @@ - + - + - + @@ -14432,12 +14448,12 @@ - + - + - + @@ -14470,7 +14486,6 @@ - @@ -14821,11 +14836,11 @@ - + - + @@ -14877,7 +14892,7 @@ - + @@ -14906,7 +14921,7 @@ - + @@ -14914,7 +14929,7 @@ - + @@ -15316,6 +15331,23 @@ + + + + + + + + + + + + + + + + + @@ -15335,20 +15367,6 @@ - - - - - - - - - - - - - - @@ -16115,22 +16133,6 @@ - - - - - - - - - - - - - - - - @@ -16215,7 +16217,7 @@ - + @@ -16449,7 +16451,7 @@ - + @@ -17019,7 +17021,7 @@ - + @@ -17338,17 +17340,6 @@ - - - - - - - - - - - @@ -17425,7 +17416,6 @@ - @@ -17460,45 +17450,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -17536,7 +17487,6 @@ - @@ -17684,17 +17634,6 @@ - - - - - - - - - - - @@ -18416,28 +18355,28 @@ - + - + - + - + - + - + - + - + @@ -18448,12 +18387,12 @@ - + - + @@ -18535,7 +18474,7 @@ - + @@ -18786,7 +18725,7 @@ - + @@ -18917,7 +18856,7 @@ - + @@ -18926,7 +18865,7 @@ - + @@ -19163,7 +19102,7 @@ - + @@ -19304,7 +19243,7 @@ - + @@ -19422,7 +19361,7 @@ - + @@ -19905,7 +19844,7 @@ - + @@ -20119,44 +20058,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -20174,7 +20075,7 @@ - + @@ -20305,6 +20206,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20526,7 +20465,7 @@ - + @@ -20649,7 +20588,7 @@ - + @@ -20658,7 +20597,7 @@ - + @@ -20935,7 +20874,7 @@ - + @@ -20957,7 +20896,7 @@ - + @@ -21642,7 +21581,7 @@ - + @@ -21650,7 +21589,7 @@ - + @@ -21664,7 +21603,6 @@ - @@ -22420,8 +22358,8 @@ - - + + @@ -22738,7 +22676,7 @@ - + @@ -23183,7 +23121,7 @@ - + @@ -23554,7 +23492,7 @@ - + @@ -24710,7 +24648,7 @@ - + @@ -24765,7 +24703,7 @@ - + @@ -26665,7 +26603,7 @@ - + @@ -26683,7 +26621,7 @@ - + @@ -27893,7 +27831,7 @@ - + @@ -28018,7 +27956,7 @@ - + @@ -28453,7 +28391,7 @@ - + @@ -28987,17 +28925,6 @@ - - - - - - - - - - - @@ -29037,7 +28964,6 @@ - @@ -29090,17 +29016,6 @@ - - - - - - - - - - - @@ -29174,7 +29089,6 @@ - @@ -30170,7 +30084,7 @@ - + @@ -32155,7 +32069,7 @@ - + @@ -33433,7 +33347,7 @@ - + @@ -33596,14 +33510,14 @@ - + - + @@ -33623,7 +33537,7 @@ - + @@ -33925,13 +33839,13 @@ - + - + @@ -33965,7 +33879,7 @@ - + @@ -34036,7 +33950,7 @@ - + @@ -34183,7 +34097,7 @@ - + @@ -34242,7 +34156,7 @@ - + @@ -34407,7 +34321,7 @@ - + @@ -36554,7 +36468,7 @@ - + @@ -37278,7 +37192,7 @@ - + @@ -37459,7 +37373,7 @@ - + @@ -37657,6 +37571,14 @@ + + + + + + + + @@ -38592,14 +38514,14 @@ - + - - + + @@ -38681,7 +38603,7 @@ - + @@ -38896,7 +38818,7 @@ - + @@ -39074,13 +38996,13 @@ - + - - + + @@ -39426,7 +39348,7 @@ - + @@ -39446,7 +39368,7 @@ - + @@ -39459,7 +39381,7 @@ - + @@ -39843,17 +39765,6 @@ - - - - - - - - - - - @@ -39975,7 +39886,6 @@ - @@ -40273,7 +40183,7 @@ - + @@ -40331,7 +40241,7 @@ - + @@ -40357,7 +40267,7 @@ - + @@ -40366,7 +40276,7 @@ - + @@ -40390,7 +40300,7 @@ - + @@ -40451,7 +40361,7 @@ - + @@ -40906,7 +40816,7 @@ - + @@ -41672,7 +41582,7 @@ - + @@ -42373,17 +42283,6 @@ - - - - - - - - - - - @@ -42447,7 +42346,6 @@ - @@ -42685,7 +42583,7 @@ - + @@ -42923,17 +42821,6 @@ - - - - - - - - - - - @@ -43134,7 +43021,6 @@ - @@ -43905,7 +43791,7 @@ - + @@ -44618,7 +44504,7 @@ - + @@ -44663,7 +44549,7 @@ - + @@ -44924,7 +44810,7 @@ - + @@ -44987,7 +44873,7 @@ - + @@ -46029,7 +45915,7 @@ - + @@ -46060,7 +45946,7 @@ - + @@ -46212,7 +46098,7 @@ - + @@ -46311,7 +46197,7 @@ - + @@ -46976,7 +46862,7 @@ - + @@ -46999,7 +46885,7 @@ - + @@ -47149,7 +47035,7 @@ - + @@ -47951,7 +47837,7 @@ - + @@ -48220,7 +48106,7 @@ - + @@ -48299,7 +48185,7 @@ - + @@ -48484,7 +48370,7 @@ - + @@ -48733,7 +48619,7 @@ - + @@ -48804,7 +48690,7 @@ - + @@ -48851,13 +48737,13 @@ - + - + @@ -48941,7 +48827,7 @@ - + @@ -48951,7 +48837,7 @@ - + @@ -49366,7 +49252,7 @@ - + @@ -49430,7 +49316,7 @@ - + @@ -49487,7 +49373,7 @@ - + @@ -49626,7 +49512,7 @@ - + @@ -49657,7 +49543,7 @@ - + @@ -49668,7 +49554,7 @@ - + @@ -49757,7 +49643,7 @@ - + @@ -49927,7 +49813,7 @@ - + @@ -49946,7 +49832,7 @@ - + @@ -49983,7 +49869,7 @@ - + @@ -50107,7 +49993,7 @@ - + @@ -50128,7 +50014,7 @@ - + @@ -50165,7 +50051,7 @@ - + @@ -50259,7 +50145,7 @@ - + @@ -50318,7 +50204,7 @@ - + @@ -51330,7 +51216,6 @@ - @@ -51390,6 +51275,7 @@ + @@ -52298,7 +52184,7 @@ - + @@ -52313,7 +52199,7 @@ - + @@ -52321,7 +52207,7 @@ - + @@ -52598,7 +52484,7 @@ - + @@ -52763,7 +52649,7 @@ - + @@ -52814,7 +52700,7 @@ - + @@ -53040,7 +52926,7 @@ - + @@ -53354,7 +53240,7 @@ - + @@ -53685,41 +53571,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -53923,7 +53774,7 @@ - + @@ -54828,9 +54679,9 @@ - + - + @@ -54859,12 +54710,12 @@ - + - + @@ -55258,7 +55109,7 @@ - + @@ -55282,19 +55133,8 @@ - - - - - - - - - - - - - + + @@ -55439,12 +55279,12 @@ - + - + - + @@ -55456,7 +55296,7 @@ - + @@ -55466,7 +55306,7 @@ - + @@ -55727,7 +55567,6 @@ - @@ -56109,7 +55948,7 @@ - + @@ -56373,7 +56212,7 @@ - + @@ -56395,7 +56234,7 @@ - + @@ -56405,7 +56244,7 @@ - + @@ -56413,17 +56252,17 @@ - + - + - + @@ -56437,16 +56276,16 @@ - + - + - + @@ -56461,7 +56300,7 @@ - + @@ -56476,7 +56315,7 @@ - + @@ -56485,17 +56324,17 @@ - + - + - + @@ -56541,7 +56380,7 @@ - + @@ -56549,13 +56388,13 @@ - + - + @@ -56575,7 +56414,7 @@ - + @@ -56968,7 +56807,7 @@ - + @@ -56978,7 +56817,7 @@ - + @@ -57668,7 +57507,7 @@ - + @@ -57923,7 +57762,7 @@ - + @@ -57935,7 +57774,7 @@ - + @@ -58268,7 +58107,7 @@ - + @@ -58647,7 +58486,7 @@ - + @@ -58678,7 +58517,7 @@ - + @@ -58687,7 +58526,7 @@ - + @@ -59194,547 +59033,550 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -59760,167 +59602,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -60017,41 +59698,41 @@ - + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -60128,7 +59809,7 @@ - + @@ -60157,7 +59838,7 @@ - + @@ -61085,7 +60766,7 @@ - + @@ -61291,9 +60972,9 @@ - - - + + + @@ -61416,7 +61097,7 @@ - + @@ -61430,7 +61111,7 @@ - + @@ -61472,7 +61153,7 @@ - + @@ -62675,7 +62356,7 @@ - + @@ -63235,8 +62916,8 @@ - - + + @@ -63245,7 +62926,7 @@ - + @@ -63314,7 +62995,7 @@ - + @@ -63322,7 +63003,7 @@ - + @@ -63627,7 +63308,7 @@ - + @@ -63702,12 +63383,12 @@ - + - + @@ -63734,7 +63415,7 @@ - + @@ -64432,15 +64113,15 @@ - + - + - + - + @@ -64451,7 +64132,7 @@ - + @@ -64459,7 +64140,7 @@ - + @@ -64467,15 +64148,15 @@ - + - + - + - + @@ -64483,48 +64164,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -64532,15 +64213,15 @@ - + - + - + - + @@ -64548,34 +64229,34 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -64738,17 +64419,6 @@ - - - - - - - - - - - @@ -64778,7 +64448,7 @@ - + @@ -64858,7 +64528,6 @@ - @@ -64911,17 +64580,6 @@ - - - - - - - - - - - @@ -64979,7 +64637,6 @@ - @@ -65294,7 +64951,7 @@ - + @@ -65504,7 +65161,7 @@ - + @@ -65583,7 +65240,7 @@ - + @@ -65653,7 +65310,7 @@ - + @@ -66074,7 +65731,7 @@ - + @@ -66096,7 +65753,7 @@ - + @@ -66105,7 +65762,7 @@ - + @@ -67351,7 +67008,7 @@ - + @@ -67630,7 +67287,7 @@ - + @@ -67702,7 +67359,7 @@ - + @@ -68674,12 +68331,12 @@ - + - + @@ -69632,7 +69289,7 @@ - + @@ -70829,7 +70486,7 @@ - + @@ -71484,8 +71141,6 @@ - - @@ -72029,7 +71684,7 @@ - + @@ -72815,7 +72470,7 @@ - + @@ -72829,7 +72484,7 @@ - + @@ -73019,7 +72674,7 @@ - + @@ -73029,20 +72684,20 @@ - + - + - + @@ -73335,13 +72990,13 @@ - + - + @@ -73453,7 +73108,7 @@ - + @@ -73623,7 +73278,7 @@ - + @@ -73761,7 +73416,7 @@ - + @@ -73820,12 +73475,12 @@ - + - + @@ -73877,7 +73532,7 @@ - + @@ -74321,7 +73976,7 @@ - + @@ -74333,7 +73988,7 @@ - + @@ -74350,7 +74005,7 @@ - + @@ -74381,7 +74036,7 @@ - + @@ -74559,17 +74214,6 @@ - - - - - - - - - - - @@ -74663,12 +74307,12 @@ - + - + @@ -74849,7 +74493,6 @@ - @@ -75086,7 +74729,7 @@ - + @@ -76022,19 +75665,19 @@ - + - + - + @@ -76119,7 +75762,7 @@ - + @@ -76339,7 +75982,7 @@ - + @@ -77398,17 +77041,6 @@ - - - - - - - - - - - @@ -77420,7 +77052,6 @@ - @@ -77501,7 +77132,7 @@ - + @@ -77963,7 +77594,7 @@ - + @@ -78437,7 +78068,7 @@ - + @@ -78447,7 +78078,7 @@ - + @@ -78486,7 +78117,7 @@ - + @@ -78507,7 +78138,7 @@ - + @@ -78540,12 +78171,12 @@ - + - + @@ -78634,7 +78265,7 @@ - + @@ -78646,7 +78277,7 @@ - + @@ -79510,17 +79141,6 @@ - - - - - - - - - - - @@ -79589,20 +79209,8 @@ - - - - - - - - - - - - @@ -79615,7 +79223,6 @@ - @@ -79854,7 +79461,7 @@ - + @@ -81228,17 +80835,6 @@ - - - - - - - - - - - @@ -81574,6 +81170,17 @@ + + + + + + + + + + + @@ -81932,7 +81539,7 @@ - + @@ -81978,7 +81585,7 @@ - + @@ -82057,7 +81664,7 @@ - + @@ -82310,7 +81917,7 @@ - + @@ -83421,7 +83028,7 @@ - + @@ -83444,7 +83051,7 @@ - + @@ -83811,13 +83418,13 @@ - + - + @@ -83860,7 +83467,7 @@ - + @@ -83885,7 +83492,7 @@ - + @@ -83893,7 +83500,7 @@ - + @@ -84145,7 +83752,7 @@ - + @@ -84543,30 +84150,30 @@ - + - + - + - + - + @@ -84625,13 +84232,13 @@ - + - + @@ -85287,7 +84894,7 @@ - + @@ -85296,12 +84903,12 @@ - + - + @@ -85336,7 +84943,7 @@ - + @@ -85345,7 +84952,7 @@ - + @@ -85433,13 +85040,13 @@ - + - + @@ -85489,7 +85096,7 @@ - + @@ -85722,14 +85329,14 @@ - + - + @@ -86536,7 +86143,7 @@ - + @@ -86612,7 +86219,7 @@ - + @@ -86620,7 +86227,7 @@ - + @@ -86631,21 +86238,21 @@ - + - + - + @@ -86654,7 +86261,7 @@ - + @@ -86667,7 +86274,7 @@ - + @@ -86678,26 +86285,26 @@ - + - + - + - + @@ -86739,7 +86346,7 @@ - + @@ -86758,14 +86365,14 @@ - + - + @@ -86776,7 +86383,7 @@ - + @@ -86840,7 +86447,7 @@ - + @@ -86902,7 +86509,7 @@ - + @@ -86949,14 +86556,14 @@ - + - + @@ -87031,7 +86638,7 @@ - + @@ -87096,17 +86703,6 @@ - - - - - - - - - - - @@ -87145,7 +86741,6 @@ - @@ -87556,32 +87151,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -87685,7 +87254,7 @@ - + @@ -87694,7 +87263,7 @@ - + @@ -87725,6 +87294,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -87746,13 +87341,13 @@ - + - + @@ -87794,7 +87389,7 @@ - + @@ -87844,7 +87439,7 @@ - + @@ -87877,7 +87472,7 @@ - + @@ -87910,7 +87505,7 @@ - + @@ -88014,14 +87609,6 @@ - - - - - - - - @@ -88142,7 +87729,7 @@ - + @@ -88411,7 +87998,7 @@ - + @@ -88434,7 +88021,7 @@ - + @@ -88535,7 +88122,7 @@ - + @@ -88567,11 +88154,11 @@ - + - + @@ -88714,18 +88301,15 @@ - + - + - + - - - - + @@ -88753,6 +88337,14 @@ + + + + + + + + @@ -88966,7 +88558,7 @@ - + @@ -89095,17 +88687,6 @@ - - - - - - - - - - - @@ -89160,7 +88741,7 @@ - + @@ -89168,7 +88749,7 @@ - + @@ -89190,7 +88771,7 @@ - + @@ -89313,7 +88894,7 @@ - + @@ -89329,7 +88910,7 @@ - + @@ -89423,7 +89004,6 @@ - @@ -89452,8 +89032,12 @@ + + + + @@ -89702,7 +89286,7 @@ - + @@ -89844,7 +89428,7 @@ - + @@ -90189,45 +89773,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -90263,18 +89808,8 @@ - - - - - - - - - - @@ -90323,47 +89858,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -90592,7 +90091,7 @@ - + @@ -90602,7 +90101,7 @@ - + @@ -90868,7 +90367,24 @@ - + + + + + + + + + + + + + + + + + + @@ -90900,23 +90416,11 @@ - - - - - - - - - - - - @@ -91016,7 +90520,7 @@ - + @@ -91081,11 +90585,7 @@ - - - - @@ -91156,7 +90656,7 @@ - + @@ -91833,7 +91333,7 @@ - + @@ -92024,7 +91524,7 @@ - + @@ -92258,17 +91758,6 @@ - - - - - - - - - - - @@ -92359,7 +91848,6 @@ - @@ -92610,22 +92098,10 @@ - - - - - - - - - - - - @@ -92757,7 +92233,7 @@ - + @@ -93307,7 +92783,7 @@ - + @@ -93421,7 +92897,7 @@ - + @@ -93834,6 +93310,7 @@ + @@ -94756,7 +94233,7 @@ - + @@ -94796,7 +94273,7 @@ - + @@ -95853,7 +95330,7 @@ - + @@ -95975,7 +95452,7 @@ - + @@ -96014,7 +95491,7 @@ - + @@ -99129,18 +98606,18 @@ - + - + - + - + - + @@ -99554,7 +99031,7 @@ - + @@ -100047,13 +99524,13 @@ - + - + - + @@ -100095,7 +99572,7 @@ - + @@ -100127,7 +99604,7 @@ - + @@ -100274,7 +99751,7 @@ - + @@ -100524,7 +100001,7 @@ - + @@ -100811,7 +100288,7 @@ - + @@ -101132,7 +100609,7 @@ - + @@ -101512,7 +100989,7 @@ - + @@ -101548,7 +101025,7 @@ - + @@ -102166,19 +101643,8 @@ - - - - - - - - - - - - + @@ -102251,7 +101717,7 @@ - + @@ -102475,7 +101941,7 @@ - + @@ -102483,7 +101949,7 @@ - + @@ -102547,7 +102013,7 @@ - + @@ -102607,14 +102073,14 @@ - + - + @@ -102645,7 +102111,7 @@ - + @@ -102749,7 +102215,7 @@ - + @@ -102990,7 +102456,7 @@ - + @@ -103237,7 +102703,6 @@ - @@ -104270,7 +103735,7 @@ - + @@ -104286,7 +103751,7 @@ - + @@ -104294,7 +103759,7 @@ - + @@ -104308,7 +103773,7 @@ - + @@ -104316,7 +103781,7 @@ - + @@ -104324,8 +103789,7 @@ - - + @@ -104720,32 +104184,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -104767,12 +104205,12 @@ - + - + @@ -104797,8 +104235,6 @@ - - @@ -104857,7 +104293,6 @@ - @@ -105122,24 +104557,13 @@ - + - - - - - - - - - - - @@ -105220,7 +104644,6 @@ - @@ -107049,7 +106472,7 @@ - + @@ -107338,26 +106761,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -107465,6 +106868,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -107687,6 +107110,23 @@ + + + + + + + + + + + + + + + + + @@ -108114,7 +107554,7 @@ - + @@ -108159,7 +107599,7 @@ - + @@ -108237,22 +107677,6 @@ - - - - - - - - - - - - - - - - @@ -108401,7 +107825,7 @@ - + @@ -108810,7 +108234,7 @@ - + @@ -108869,17 +108293,6 @@ - - - - - - - - - - - @@ -108910,7 +108323,6 @@ - @@ -109033,17 +108445,39 @@ - + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + + + + @@ -109051,15 +108485,15 @@ - - + + - - + + - + @@ -109067,100 +108501,100 @@ - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + @@ -109221,14 +108655,6 @@ - - - - - - - - @@ -109279,7 +108705,7 @@ - + @@ -109352,7 +108778,7 @@ - + @@ -109485,7 +108911,7 @@ - + @@ -109615,119 +109041,119 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -109745,7 +109171,7 @@ - + @@ -109760,10 +109186,10 @@ - + - + @@ -109787,249 +109213,241 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - @@ -110247,56 +109665,56 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -110508,50 +109926,50 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -110560,78 +109978,78 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -110655,7 +110073,7 @@ - + @@ -110664,25 +110082,25 @@ - + - + - + - + - + - + - + @@ -110724,7 +110142,7 @@ - + @@ -110804,6 +110222,14 @@ + + + + + + + + @@ -111343,14 +110769,6 @@ - - - - - - - - @@ -111522,7 +110940,7 @@ - + @@ -111539,7 +110957,7 @@ - + @@ -111551,7 +110969,7 @@ - + @@ -111624,7 +111042,7 @@ - + @@ -111638,14 +111056,6 @@ - - - - - - - - @@ -111795,7 +111205,7 @@ - + @@ -111810,27 +111220,40 @@ - + - + - + - + - + + + + + + - + + + + + + + + + @@ -111844,7 +111267,6 @@ - @@ -111893,7 +111315,7 @@ - + @@ -111901,26 +111323,26 @@ - + - + - + - + @@ -112113,7 +111535,7 @@ - + @@ -112147,7 +111569,7 @@ - + @@ -112324,7 +111746,7 @@ - + @@ -112534,7 +111956,7 @@ - + @@ -112563,50 +111985,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -113026,7 +112404,7 @@ - + @@ -113384,7 +112762,7 @@ - + @@ -113458,7 +112836,7 @@ - + @@ -113500,12 +112878,12 @@ - + - + @@ -113573,7 +112951,7 @@ - + @@ -113603,7 +112981,7 @@ - + @@ -113616,13 +112994,13 @@ - + - + @@ -113639,7 +113017,7 @@ - + @@ -113655,14 +113033,14 @@ - + - + @@ -113679,7 +113057,7 @@ - + @@ -113695,12 +113073,12 @@ - + - + @@ -114320,52 +113698,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -114406,82 +113784,82 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -114506,6 +113884,14 @@ + + + + + + + + @@ -114673,9 +114059,9 @@ - - - + + + @@ -114841,51 +114227,60 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + - + @@ -114901,24 +114296,24 @@ - + - + - + - + - + - + - + @@ -114948,7 +114343,7 @@ - + @@ -115016,9 +114411,9 @@ - + - + @@ -115164,7 +114559,7 @@ - + @@ -115175,7 +114570,7 @@ - + @@ -115486,7 +114881,7 @@ - + @@ -115595,7 +114990,7 @@ - + @@ -115913,6 +115308,7 @@ + @@ -115948,14 +115344,14 @@ - + - + @@ -116052,7 +115448,7 @@ - + @@ -116349,7 +115745,7 @@ - + @@ -116891,15 +116287,15 @@ - + - + - + - + @@ -117041,7 +116437,7 @@ - + @@ -117555,6 +116951,14 @@ + + + + + + + + @@ -117642,7 +117046,7 @@ - + @@ -117677,6 +117081,17 @@ + + + + + + + + + + + @@ -117686,7 +117101,7 @@ - + @@ -117701,7 +117116,7 @@ - + @@ -118057,7 +117472,7 @@ - + @@ -118337,7 +117752,7 @@ - + @@ -118373,7 +117788,7 @@ - + @@ -118506,7 +117921,7 @@ - + @@ -118558,13 +117973,13 @@ - + - + @@ -118704,7 +118119,7 @@ - + @@ -118747,7 +118162,7 @@ - + @@ -118766,7 +118181,7 @@ - + @@ -118794,17 +118209,6 @@ - - - - - - - - - - - @@ -119012,27 +118416,27 @@ - + - + - + - + @@ -119731,7 +119135,7 @@ - + @@ -119784,7 +119188,7 @@ - + @@ -119798,7 +119202,7 @@ - + @@ -119817,7 +119221,7 @@ - + @@ -119841,7 +119245,7 @@ - + @@ -119967,7 +119371,7 @@ - + @@ -119984,7 +119388,7 @@ - + @@ -120475,7 +119879,7 @@ - + @@ -120764,7 +120168,7 @@ - + @@ -120778,7 +120182,7 @@ - + @@ -120786,7 +120190,7 @@ - + @@ -120952,7 +120356,7 @@ - + @@ -120971,7 +120375,7 @@ - + @@ -121001,7 +120405,7 @@ - + @@ -121147,7 +120551,7 @@ - + @@ -121197,7 +120601,7 @@ - + @@ -121309,7 +120713,7 @@ - + @@ -121355,7 +120759,7 @@ - + @@ -122232,7 +121636,6 @@ - @@ -122245,7 +121648,7 @@ - + @@ -122293,7 +121696,7 @@ - + @@ -122311,8 +121714,16 @@ + + + + + + + + - + @@ -122460,7 +121871,7 @@ - + @@ -122756,12 +122167,12 @@ - + - + @@ -123033,8 +122444,24 @@ + + + + + + + + + + + + + + + + - + @@ -123078,7 +122505,7 @@ - + @@ -123110,7 +122537,7 @@ - + @@ -123618,7 +123045,7 @@ - + @@ -123639,8 +123066,8 @@ - - + + @@ -123707,7 +123134,7 @@ - + @@ -123773,20 +123200,42 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + @@ -124040,7 +123489,7 @@ - + @@ -124333,7 +123782,7 @@ - + @@ -124878,7 +124327,7 @@ - + @@ -125821,7 +125270,7 @@ - + @@ -126643,7 +126092,7 @@ - + @@ -126680,7 +126129,7 @@ - + @@ -126978,7 +126427,7 @@ - + @@ -127040,7 +126489,7 @@ - + @@ -127632,7 +127081,7 @@ - + @@ -127698,13 +127147,13 @@ - + - + @@ -129408,7 +128857,7 @@ - + @@ -130047,6 +129496,6 @@ From 40799f06ce89fef7f7c281505ea4c7fab06033dd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 31 Oct 2020 12:21:18 +0100 Subject: [PATCH 14/15] ANDROID: Input: bump SW_MAX up to 0x3f Bump the userspace-facing value of SW_MAX from 0x10 to 0x3f, allowing out-of-tree input drivers to use the increased space to send input codes to userspace safely. Note, there are no new reserved input code values, so any out-of-tree numbers are not guaranteed to ever remain stable over time, but this allows those drivers to work properly before they get merged upstream to claim a reserved number. Be aware that if you use this increased numberspace, your values will change going forward to new Android and kernel versions, you have been warned. This gives us the free-space for 0x2f new values, which should be enough for a few years grace-period :) This changes the CRC of a number of functions, but no variable sizes have changed: Leaf changes summary: 36 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 36 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 36 functions with some sub-type change: [C] 'function cec_adapter* cec_allocate_adapter(const cec_adap_ops*, void*, const char*, u32, u8)' at cec-core.c:253:1 has some sub-type changes: [C] 'function void cec_delete_adapter(cec_adapter*)' at cec-core.c:431:1 has some sub-type changes: [C] 'function void cec_received_msg_ts(cec_adapter*, cec_msg*, ktime_t)' at cec-adap.c:1036:1 has some sub-type changes: [C] 'function int cec_register_adapter(cec_adapter*, device*)' at cec-core.c:342:1 has some sub-type changes: [C] 'function void cec_s_phys_addr(cec_adapter*, unsigned short int, bool)' at cec.h:279:1 has some sub-type changes: [C] 'function void cec_s_phys_addr_from_edid(cec_adapter*, const edid*)' at cec-adap.c:1616:1 has some sub-type changes: [C] 'function void cec_transmit_attempt_done_ts(cec_adapter*, u8, ktime_t)' at cec-adap.c:688:1 has some sub-type changes: [C] 'function void cec_transmit_done_ts(cec_adapter*, u8, u8, u8, u8, u8, ktime_t)' at cec-adap.c:591:1 has some sub-type changes: [C] 'function void cec_unregister_adapter(cec_adapter*)' at cec-core.c:412:1 has some sub-type changes: [C] 'function input_dev* devm_input_allocate_device(device*)' at input.h:352:1 has some sub-type changes: [C] 'function void input_alloc_absinfo(input_dev*)' at input.h:466:1 has some sub-type changes: [C] 'function input_dev* input_allocate_device()' at input.h:351:1 has some sub-type changes: [C] 'function void input_close_device(input_handle*)' at input.h:404:1 has some sub-type changes: [C] 'function void input_event(input_dev*, unsigned int, unsigned int, int)' at input.h:411:1 has some sub-type changes: [C] 'function int input_ff_create(input_dev*, unsigned int)' at input.h:555:1 has some sub-type changes: [C] 'function int input_ff_create_memless(input_dev*, void*, int (input_dev*, void*, ff_effect*)*)' at input.h:564:1 has some sub-type changes: [C] 'function void input_ff_destroy(input_dev*)' at input.h:556:1 has some sub-type changes: [C] 'function void input_free_device(input_dev*)' at input.h:353:1 has some sub-type changes: [C] 'function void input_mt_destroy_slots(input_dev*)' at mt.h:78:1 has some sub-type changes: [C] 'function int input_mt_get_slot_by_key(input_dev*, int)' at mt.h:122:1 has some sub-type changes: [C] 'function int input_mt_init_slots(input_dev*, unsigned int, unsigned int)' at mt.h:76:1 has some sub-type changes: [C] 'function void input_mt_report_pointer_emulation(input_dev*, bool)' at mt.h:104:1 has some sub-type changes: [C] 'function bool input_mt_report_slot_state(input_dev*, unsigned int, bool)' at mt.h:100:1 has some sub-type changes: [C] 'function void input_mt_sync_frame(input_dev*)' at mt.h:107:1 has some sub-type changes: [C] 'function int input_open_device(input_handle*)' at input.h:403:1 has some sub-type changes: [C] 'function int input_register_device(input_dev*)' at input.h:376:1 has some sub-type changes: [C] 'function int input_register_handle(input_handle*)' at input.h:397:1 has some sub-type changes: [C] 'function int input_register_handler(input_handler*)' at input.h:387:1 has some sub-type changes: [C] 'function void input_set_abs_params(input_dev*, unsigned int, int, int, int, int)' at input.h:467:1 has some sub-type changes: [C] 'function void input_set_capability(input_dev*, unsigned int, unsigned int)' at input.h:449:1 has some sub-type changes: [C] 'function void input_unregister_device(input_dev*)' at input.h:377:1 has some sub-type changes: [C] 'function void input_unregister_handle(input_handle*)' at input.h:398:1 has some sub-type changes: [C] 'function void input_unregister_handler(input_handler*)' at input.h:388:1 has some sub-type changes: [C] 'function int snd_jack_new(snd_card*, const char*, int, snd_jack**, bool, bool)' at jack.c:198:1 has some sub-type changes: [C] 'function void snd_jack_report(snd_jack*, int)' at jack.c:340:1 has some sub-type changes: [C] 'function int snd_jack_set_key(snd_jack*, snd_jack_types, int)' at jack.c:317:1 has some sub-type changes: Bug: 170534200 Signed-off-by: Greg Kroah-Hartman Change-Id: I28c8b49ac37f42d3ff89554e18fe042a44f5704a --- android/abi_gki_aarch64.xml | 72 +++++++++++++------------- include/linux/mod_devicetable.h | 2 +- include/uapi/linux/input-event-codes.h | 2 +- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 4e4a7efe0ff0..7d0427878a52 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -513,15 +513,15 @@ - - - - - - - - - + + + + + + + + + @@ -961,7 +961,7 @@ - + @@ -1876,30 +1876,30 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -3386,9 +3386,9 @@ - - - + + + diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 4c56404e53a7..e045fc8e84d7 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -318,7 +318,7 @@ struct pcmcia_device_id { #define INPUT_DEVICE_ID_LED_MAX 0x0f #define INPUT_DEVICE_ID_SND_MAX 0x07 #define INPUT_DEVICE_ID_FF_MAX 0x7f -#define INPUT_DEVICE_ID_SW_MAX 0x10 +#define INPUT_DEVICE_ID_SW_MAX 0x3f #define INPUT_DEVICE_ID_PROP_MAX 0x1f #define INPUT_DEVICE_ID_MATCH_BUS 1 diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h index 472cd5bc5567..b8902770a989 100644 --- a/include/uapi/linux/input-event-codes.h +++ b/include/uapi/linux/input-event-codes.h @@ -809,7 +809,7 @@ #define SW_MUTE_DEVICE 0x0e /* set = device disabled */ #define SW_PEN_INSERTED 0x0f /* set = pen inserted */ #define SW_MACHINE_COVER 0x10 /* set = cover closed */ -#define SW_MAX 0x10 +#define SW_MAX 0x3f #define SW_CNT (SW_MAX+1) /* From ea5b4af68fc48e44cd17a1804381b1f4a73a2c5c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 31 Oct 2020 12:37:57 +0100 Subject: [PATCH 15/15] ANDROID: Update the KMI_GENERATION after KMI changes on October 31 The KMI was changed by several patches on October 31. Update the generation number to notify all tools of this. Bug: 161946584 Cc: Todd Kjos Signed-off-by: Greg Kroah-Hartman Change-Id: I5d96ec5e4fe3ead9aedf19bdedf731b3ee28746a --- build.config.common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.config.common b/build.config.common index 26e8f3ac9dfb..a3f1b303f2d1 100644 --- a/build.config.common +++ b/build.config.common @@ -1,5 +1,5 @@ BRANCH=android11-5.4 -KMI_GENERATION=1 +KMI_GENERATION=2 CC=clang LD=ld.lld