Commit Graph

75 Commits

Author SHA1 Message Date
Ram Muthiah
2081b666d5 ANDROID: gki: Removed cf modules from gki_defconfig
Bug: 139431025
Test: Treehugger
Change-Id: Ib1de19b851f8dc07f77e4b6ec5acf88b6051b070
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
2020-01-31 16:34:58 -08:00
Eric Biggers
2aa2175f27 ANDROID: update ABI following inline crypto changes
Leaf changes summary: 17 artifacts changed
Changed leaf types summary: 7 leaf types changed
Removed/Changed/Added functions summary: 9 Removed, 1 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

9 Removed functions:

  [D] 'function ssize_t debugfs_attr_read(file*, char*, size_t, loff_t*)'
  [D] 'function ssize_t debugfs_attr_write(file*, const char*, size_t, loff_t*)'
  [D] 'function dentry* debugfs_create_dir(const char*, dentry*)'
  [D] 'function dentry* debugfs_create_file(const char*, umode_t, dentry*, void*, const file_operations*)'
  [D] 'function dentry* debugfs_create_file_unsafe(const char*, umode_t, dentry*, void*, const file_operations*)'
  [D] 'function dentry* debugfs_create_x32(const char*, umode_t, dentry*, u32*)'
  [D] 'function void debugfs_remove(dentry*)'
  [D] 'function void debugfs_remove_recursive(dentry*)'
  [D] 'function int drm_debugfs_create_files(const drm_info_list*, int, dentry*, drm_minor*)'

1 function with some sub-type change:

  [C]'function void blk_queue_logical_block_size(request_queue*, unsigned short int)' at blk-settings.c:331:1 has some sub-type changes:
    parameter 2 of type 'unsigned short int' changed:
    type name changed from 'unsigned short int' to 'unsigned int'
    type size changed from 16 to 32 (in bits)

'struct backing_dev_info at backing-dev-defs.h:188:1' changed:
  type size changed from 8128 to 8064 (in bits)
  1 data member deletion:
    'dentry* backing_dev_info::debug_dir', at offset 8064 (in bits) at backing-dev-defs.h:228:1

  42 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct bio at blk_types.h:145:1' changed:
  type size changed from 1024 to 1088 (in bits)
  1 data member insertion:
    'bool bio::bi_skip_dm_default_key', at offset 832 (in bits) at blk_types.h:181:1
  there are data member changes:
   'unsigned short int bio::bi_vcnt' offset changed from 832 to 848 (in bits) (by +16 bits)
   offset changed from 832 to 840 (in bits) (by +8 bits)
   'unsigned short int bio::bi_max_vecs' offset changed from 848 to 864 (in bits) (by +16 bits)
   'atomic_t bio::__bi_cnt' offset changed from 864 to 896 (in bits) (by +32 bits)
   'bio_vec* bio::bi_io_vec' offset changed from 896 to 960 (in bits) (by +64 bits)
   'bio_set* bio::bi_pool' offset changed from 960 to 1024 (in bits) (by +64 bits)
   'bio_vec bio::bi_inline_vecs[]' offset changed from 1024 to 1088 (in bits) (by +64 bits)

  42 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct drm_crtc at drm_crtc.h:879:1' changed:
  type size changed from 14528 to 14464 (in bits)
  1 data member deletion:
    'dentry* drm_crtc::debugfs_entry', at offset 13440 (in bits) at drm_crtc.h:1070:1

  there are data member changes:
   'drm_crtc_crc drm_crtc::crc' offset changed from 13504 to 13440 (in bits) (by -64 bits)
   'unsigned int drm_crtc::fence_context' offset changed from 14080 to 14016 (in bits) (by -64 bits)
   'spinlock_t drm_crtc::fence_lock' offset changed from 14112 to 14048 (in bits) (by -64 bits)
   'unsigned long int drm_crtc::fence_seqno' offset changed from 14144 to 14080 (in bits) (by -64 bits)
   'char drm_crtc::timeline_name[32]' offset changed from 14208 to 14144 (in bits) (by -64 bits)
   'drm_self_refresh_data* drm_crtc::self_refresh_data' offset changed from 14464 to 14400 (in bits) (by -64 bits)

  64 impacted interfaces:
    function int drm_add_edid_modes(drm_connector*, edid*)
    function int drm_add_modes_noedid(drm_connector*, int, int)
    function int drm_atomic_helper_check(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_cleanup_planes(drm_device*, drm_atomic_state*)
    function int drm_atomic_helper_commit(drm_device*, drm_atomic_state*, bool)
    function void drm_atomic_helper_commit_hw_done(drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_disables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_enables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_planes(drm_device*, drm_atomic_state*, uint32_t)
    function void drm_atomic_helper_connector_destroy_state(drm_connector*, drm_connector_state*)
    function drm_connector_state* drm_atomic_helper_connector_duplicate_state(drm_connector*)
    function void drm_atomic_helper_connector_reset(drm_connector*)
    function void drm_atomic_helper_crtc_destroy_state(drm_crtc*, drm_crtc_state*)
    function drm_crtc_state* drm_atomic_helper_crtc_duplicate_state(drm_crtc*)
    function void drm_atomic_helper_crtc_reset(drm_crtc*)
    function int drm_atomic_helper_disable_plane(drm_plane*, drm_modeset_acquire_ctx*)
    function int drm_atomic_helper_page_flip(drm_crtc*, drm_framebuffer*, drm_pending_vblank_event*, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_plane_destroy_state(drm_plane*, drm_plane_state*)
    function drm_plane_state* drm_atomic_helper_plane_duplicate_state(drm_plane*)
    function void drm_atomic_helper_plane_reset(drm_plane*)
    function int drm_atomic_helper_set_config(drm_mode_set*, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_shutdown(drm_device*)
    function int drm_atomic_helper_update_plane(drm_plane*, drm_crtc*, drm_framebuffer*, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_wait_for_vblanks(drm_device*, drm_atomic_state*)
    function void drm_connector_attach_edid_property(drm_connector*)
    function int drm_connector_attach_encoder(drm_connector*, drm_encoder*)
    function void drm_connector_cleanup(drm_connector*)
    function int drm_connector_init(drm_device*, drm_connector*, const drm_connector_funcs*, int)
    function int drm_connector_register(drm_connector*)
    function void drm_connector_unregister(drm_connector*)
    function int drm_connector_update_edid_property(drm_connector*, const edid*)
    function void drm_crtc_cleanup(drm_crtc*)
    function int drm_crtc_init_with_planes(drm_device*, drm_crtc*, drm_plane*, drm_plane*, const drm_crtc_funcs*, const char*, ...)
    function void drm_crtc_send_vblank_event(drm_crtc*, drm_pending_vblank_event*)
    function drm_display_mode* drm_cvt_mode(drm_device*, int, int, int, bool, bool, bool)
    function drm_device* drm_dev_alloc(drm_driver*, device*)
    function void drm_dev_put(drm_device*)
    function int drm_dev_register(drm_device*, unsigned long int)
    function int drm_dev_set_unique(drm_device*, const char*)
    function void drm_dev_unregister(drm_device*)
    function edid* drm_do_get_edid(drm_connector*, void ()*, void*)
    function void drm_encoder_cleanup(drm_encoder*)
    function int drm_encoder_init(drm_device*, drm_encoder*, const drm_encoder_funcs*, int, const char*, ...)
    function int drm_framebuffer_init(drm_device*, drm_framebuffer*, const drm_framebuffer_funcs*)
    function int drm_gem_handle_create(drm_file*, drm_gem_object*, u32*)
    function int drm_gem_object_init(drm_device*, drm_gem_object*, size_t)
    function drm_gem_object* drm_gem_object_lookup(drm_file*, u32)
    function void drm_gem_object_put_unlocked(drm_gem_object*)
    function void drm_gem_object_release(drm_gem_object*)
    function int drm_gem_prime_fd_to_handle(drm_device*, drm_file*, int, uint32_t*)
    function int drm_gem_prime_handle_to_fd(drm_device*, drm_file*, uint32_t, uint32_t, int*)
    function int drm_gem_prime_mmap(drm_gem_object*, vm_area_struct*)
    function bool drm_helper_hpd_irq_event(drm_device*)
    function void drm_helper_mode_fill_fb_struct(drm_device*, drm_framebuffer*, const drm_mode_fb_cmd2*)
    function int drm_helper_probe_single_connector_modes(drm_connector*, uint32_t, uint32_t)
    function void drm_kms_helper_hotplug_event(drm_device*)
    function void drm_mode_config_cleanup(drm_device*)
    function void drm_mode_config_init(drm_device*)
    function void drm_mode_config_reset(drm_device*)
    function void drm_mode_probed_add(drm_connector*, drm_display_mode*)
    function void drm_plane_cleanup(drm_plane*)
    function void drm_put_dev(drm_device*)
    function void drm_set_preferred_mode(drm_connector*, int, int)
    function int drm_universal_plane_init(drm_device*, drm_plane*, uint32_t, const drm_plane_funcs*, const uint32_t*, unsigned int, const uint64_t*, drm_plane_type, const char*, ...)

'struct elevator_type at elevator.h:66:1' changed:
  type size changed from 2368 to 2240 (in bits)
  2 data member deletions:
    'const blk_mq_debugfs_attr* elevator_type::queue_debugfs_attrs', at offset 1920 (in bits) at elevator.h:82:1

    'const blk_mq_debugfs_attr* elevator_type::hctx_debugfs_attrs', at offset 1984 (in bits) at elevator.h:83:1

  there are data member changes:
   'char elevator_type::icq_cache_name[22]' offset changed from 2048 to 1920 (in bits) (by -128 bits)
   'list_head elevator_type::list' offset changed from 2240 to 2112 (in bits) (by -128 bits)

  42 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct queue_limits at blkdev.h:321:1' changed:
  type size hasn't changed
  there are data member changes:
   'unsigned int queue_limits::alignment_offset' offset changed from 384 to 416 (in bits) (by +32 bits)
   'unsigned int queue_limits::io_min' offset changed from 416 to 448 (in bits) (by +32 bits)
   'unsigned int queue_limits::io_opt' offset changed from 448 to 480 (in bits) (by +32 bits)
   'unsigned int queue_limits::max_discard_sectors' offset changed from 480 to 512 (in bits) (by +32 bits)
   'unsigned int queue_limits::max_hw_discard_sectors' offset changed from 512 to 544 (in bits) (by +32 bits)
   'unsigned int queue_limits::max_write_same_sectors' offset changed from 544 to 576 (in bits) (by +32 bits)
   'unsigned int queue_limits::max_write_zeroes_sectors' offset changed from 576 to 608 (in bits) (by +32 bits)
   'unsigned int queue_limits::discard_granularity' offset changed from 608 to 640 (in bits) (by +32 bits)
   'unsigned int queue_limits::discard_alignment' offset changed from 640 to 672 (in bits) (by +32 bits)
   type 'unsigned short int' of 'queue_limits::logical_block_size' changed:
     type name changed from 'unsigned short int' to 'unsigned int'
     type size changed from 16 to 32 (in bits)
, offset changed from 672 to 384 (in bits) (by -288 bits), size changed from 16 to 32 (in bits) (by +16 bits)
   'unsigned short int queue_limits::max_segments' offset changed from 688 to 704 (in bits) (by +16 bits)
   'unsigned short int queue_limits::max_integrity_segments' offset changed from 704 to 720 (in bits) (by +16 bits)
   'unsigned short int queue_limits::max_discard_segments' offset changed from 720 to 736 (in bits) (by +16 bits)
   'unsigned char queue_limits::misaligned' offset changed from 736 to 752 (in bits) (by +16 bits)
   'unsigned char queue_limits::discard_misaligned' offset changed from 744 to 760 (in bits) (by +16 bits)
   'unsigned char queue_limits::raid_partial_stripes_expensive' offset changed from 752 to 768 (in bits) (by +16 bits)
   'blk_zoned_model queue_limits::zoned' offset changed from 768 to 800 (in bits) (by +32 bits)

  42 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct request_queue at blkdev.h:395:1' changed:
  type size changed from 15040 to 14848 (in bits)
  3 data member deletions:
    'dentry* request_queue::debugfs_dir', at offset 14144 (in bits) at blkdev.h:580:1

    'dentry* request_queue::sched_debugfs_dir', at offset 14208 (in bits) at blkdev.h:581:1

    'dentry* request_queue::rqos_debugfs_dir', at offset 14272 (in bits) at blkdev.h:582:1

  there are data member changes:
   type 'struct queue_limits' of 'request_queue::limits' changed as reported earlier

   'bool request_queue::mq_sysfs_init_done' offset changed from 14336 to 14144 (in bits) (by -192 bits)
   'size_t request_queue::cmd_size' offset changed from 14400 to 14208 (in bits) (by -192 bits)
   'work_struct request_queue::release_work' offset changed from 14464 to 14272 (in bits) (by -192 bits)
   'u64 request_queue::write_hints[5]' offset changed from 14720 to 14528 (in bits) (by -192 bits)

  42 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct sync_file at sync_file.h:35:1' changed:
  type size changed from 960 to 832 (in bits)
  1 data member deletion:
    'list_head sync_file::sync_file_list', at offset 320 (in bits) at sync_file.h:46:1

  there are data member changes:
   'wait_queue_head_t sync_file::wq' offset changed from 448 to 320 (in bits) (by -128 bits)
   'unsigned long int sync_file::flags' offset changed from 640 to 512 (in bits) (by -128 bits)
   'dma_fence* sync_file::fence' offset changed from 704 to 576 (in bits) (by -128 bits)
   'dma_fence_cb sync_file::cb' offset changed from 768 to 640 (in bits) (by -128 bits)

  one impacted interface:
    function sync_file* sync_file_create(dma_fence*)

Bug: 137270441
Change-Id: I24a32d241b8055c51a22af7c552f575f9d596843
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-01-24 11:58:39 -08:00
Barani Muthukumaran
e25d82c5a0 ANDROID: block: provide key size as input to inline crypto APIs
Currently, blk-crypto uses the algorithm to determine the size of keys.
However, some inline encryption hardware supports protecting keys from
software by wrapping the storage keys with an ephemeral key.  Since
these wrapped keys are not of a fixed size, add the capability to
provide the key size when initializing a blk_crypto_key, and update the
keyslot manager to take size into account when comparing keys.

Bug: 147209885

Change-Id: Ibc2e4807e0a0ec473e72d131e0f20abb3a6033b5
Co-developed-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Signed-off-by: Barani Muthukumaran <bmuthuku@codeaurora.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-01-22 04:31:41 +00:00
Alistair Delva
127e8dbd21 ANDROID: update kernel ABI for CONFIG_DUMMY
Bug: 147203196
Change-Id: Idafb0d6c2bd0973a5dfb5f57f2d3f84c4f814223
Signed-off-by: Alistair Delva <adelva@google.com>
2020-01-16 13:06:58 -08:00
Jaegeuk Kim
61f5bd7db4 ANDROID: update kernel ABI for f2fs/fscrypt/other changes
This updates ABI after merging upstream-f2fs-stable-linux-5.4.y.

Leaf changes summary: 0 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

Bug: 146023540
Change-Id: Ibe60fc483ecde1c0d98989200482297701f02a33
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2020-01-15 16:49:14 -08:00
Alistair Delva
7db82d35eb ANDROID: update kernel ABI for kcov changes
Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 3 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct mem_cgroup at memcontrol.h:208:1' changed:
  type size changed from 22016 to 20992 (in bits)
  1 data member deletion:
    'deferred_split mem_cgroup::deferred_split_queue', at offset 21504 (in bits) at memcontrol.h:334:1

  there are data member changes:
   type 'atomic_long_t[70]' of 'mem_cgroup::vmevents' changed:
     type name changed from 'atomic_long_t[70]' to 'atomic_long_t[56]'
     array type size changed from 4480 to 3584
     array type subrange 1 changed length from 70 to 56
, size changed from 4480 to 3584 (in bits) (by -896 bits)
   'atomic_long_t mem_cgroup::memory_events[7]' offset changed from 17664 to 16768 (in bits) (by -896 bits)
   'atomic_long_t mem_cgroup::memory_events_local[7]' offset changed from 18112 to 17216 (in bits) (by -896 bits)
   'unsigned long int mem_cgroup::socket_pressure' offset changed from 18560 to 17664 (in bits) (by -896 bits)
   'bool mem_cgroup::tcpmem_active' offset changed from 18624 to 17728 (in bits) (by -896 bits)
   'int mem_cgroup::tcpmem_pressure' offset changed from 18656 to 17760 (in bits) (by -896 bits)
   'int mem_cgroup::kmemcg_id' offset changed from 18688 to 17792 (in bits) (by -896 bits)
   'memcg_kmem_state mem_cgroup::kmem_state' offset changed from 18720 to 17824 (in bits) (by -896 bits)
   'list_head mem_cgroup::kmem_caches' offset changed from 18752 to 17856 (in bits) (by -896 bits)
   'int mem_cgroup::last_scanned_node' offset changed from 18880 to 17984 (in bits) (by -896 bits)
   'list_head mem_cgroup::cgwb_list' offset changed from 18944 to 18048 (in bits) (by -896 bits)
   'wb_domain mem_cgroup::cgwb_domain' offset changed from 19072 to 18176 (in bits) (by -896 bits)
   'memcg_cgwb_frn mem_cgroup::cgwb_frn[4]' offset changed from 20032 to 19136 (in bits) (by -896 bits)
   'list_head mem_cgroup::event_list' offset changed from 21312 to 20416 (in bits) (by -896 bits)
   'spinlock_t mem_cgroup::event_list_lock' offset changed from 21440 to 20544 (in bits) (by -896 bits)
   'mem_cgroup_per_node* mem_cgroup::nodeinfo[]' offset changed from 21760 to 20608 (in bits) (by -1152 bits)

  17 impacted interfaces:
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function void dev_add_pack(packet_type*)
    function void dev_remove_pack(packet_type*)
    function void lock_sock_nested(sock*, int)
    function void release_sock(sock*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function void sk_free(sock*)
    function void skb_free_datagram(sock*, sk_buff*)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function unsigned long int sock_i_ino(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)

'struct memcg_vmstats_percpu at memcontrol.h:88:1' changed:
  type size changed from 7168 to 6272 (in bits)
  there are data member changes:
   type 'unsigned long int[70]' of 'memcg_vmstats_percpu::events' changed:
     type name changed from 'unsigned long int[70]' to 'unsigned long int[56]'
     array type size changed from 4480 to 3584
     array type subrange 1 changed length from 70 to 56
, size changed from 4480 to 3584 (in bits) (by -896 bits)
   'unsigned long int memcg_vmstats_percpu::nr_page_events' offset changed from 6912 to 6016 (in bits) (by -896 bits)
   'unsigned long int memcg_vmstats_percpu::targets[3]' offset changed from 6976 to 6080 (in bits) (by -896 bits)

  17 impacted interfaces:
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function void dev_add_pack(packet_type*)
    function void dev_remove_pack(packet_type*)
    function void lock_sock_nested(sock*, int)
    function void release_sock(sock*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function void sk_free(sock*)
    function void skb_free_datagram(sock*, sk_buff*)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function unsigned long int sock_i_ino(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)

'struct pglist_data at mmzone.h:702:1' changed:
  type size hasn't changed
  1 data member deletion:
    'deferred_split pglist_data::deferred_split_queue', at offset 40512 (in bits) at mmzone.h:772:1

  there are data member changes:
   'lruvec pglist_data::lruvec' offset changed from 40768 to 40512 (in bits) (by -256 bits)
   'unsigned long int pglist_data::flags' offset changed from 41856 to 41600 (in bits) (by -256 bits)

  17 impacted interfaces:
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function void dev_add_pack(packet_type*)
    function void dev_remove_pack(packet_type*)
    function void lock_sock_nested(sock*, int)
    function void release_sock(sock*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function void sk_free(sock*)
    function void skb_free_datagram(sock*, sk_buff*)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function unsigned long int sock_i_ino(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)

Bug: 147413187
Change-Id: I852d76d5c5c2c2ba99ad88e1979fa2720c6077e1
Signed-off-by: Alistair Delva <adelva@google.com>
2020-01-13 15:43:59 -08:00
Satya Tangirala
46455321f9 ANDROID: gki_defconfig: Enable blk-crypto fallback
Enable blk-crypto's kernel crypto API fallback, so that devices
without inline encryption hardware can continue to use the inlinecrypt
mount option and have file content crypto handled by the block layer.

Bug: 137270441
Test: xfstests, cuttlefish boot and stress test, pixel 4 boot and stress
      test
Change-Id: I26376479ee38259b8c35732cb3a1d7e15f9b05a3
Signed-off-by: Satya Tangirala <satyat@google.com>
2020-01-13 18:47:07 +00:00
Satya Tangirala
b7b3af9614 BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series
Changes v5 => v6:
 - Blk-crypto's kernel crypto API fallback is no longer restricted to
   8-byte DUNs. It's also now separately configurable from blk-crypto, and
   can be disabled entirely, while still allowing the kernel to use inline
   encryption hardware. Further, struct bio_crypt_ctx takes up less space,
   and no longer contains the information needed by the crypto API
   fallback - the fallback allocates the required memory when necessary.
 - Blk-crypto now supports all file content encryption modes supported by
   fscrypt.
 - Fixed bio merging logic in blk-merge.c
 - Fscrypt now supports inline encryption with the direct key policy, since
   blk-crypto now has support for larger DUNs.
 - Keyslot manager now uses a hashtable to lookup which keyslot contains
   any particular key (thanks Eric!)
 - Fscrypt support for inline encryption now handles filesystems with
   multiple underlying block devices (thanks Eric!)
 - Numerous cleanups

Bug: 137270441
Test: refer to I26376479ee38259b8c35732cb3a1d7e15f9b05a3
Change-Id: I13e2e327e0b4784b394cb1e7cf32a04856d95f01
Link: https://lore.kernel.org/linux-block/20191218145136.172774-1-satyat@google.com/
Signed-off-by: Satya Tangirala <satyat@google.com>
2020-01-13 18:46:44 +00:00
Ryan Savitski
fec52bf211 ANDROID: update kernel ABI (perf_event changes)
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct perf_event at perf_event.h:574:1' changed:
  type size changed from 7808 to 7872 (in bits)
  1 data member insertion:
    'void* perf_event::security', at offset 7680 (in bits) at perf_event.h:726:1
  there are data member changes:
   'list_head perf_event::sb_list' offset changed from 7680 to 7744 (in bits) (by +64 bits)

  8 impacted interfaces:
    function event_trigger_type event_triggers_call(trace_event_file*, void*, ring_buffer_event*)
    function void perf_trace_run_bpf_submit(void*, int, int, trace_event_call*, u64, pt_regs*, hlist_head*, task_struct*)
    function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)
    function void trace_event_buffer_commit(trace_event_buffer*)
    function void* trace_event_buffer_reserve(trace_event_buffer*, trace_event_file*, unsigned long int)
    function bool trace_event_ignore_this_pid(trace_event_file*)
    function int trace_event_raw_init(trace_event_call*)
    function int trace_event_reg(trace_event_call*, trace_reg, void*)

Bug: 137092007
Change-Id: Ia465c4288a165fab9d9d1947fd8ab0d81f26426f
Signed-off-by: Ryan Savitski <rsavitski@google.com>
2020-01-09 21:47:58 +00:00
Greg Kroah-Hartman
c36b51d782 ANDROID: update abi for previous revert
This updates and fixes up the abi definition file for when "Revert
"BACKPORT: perf_event: Add support for LSM and SELinux checks"" is
applied.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie5395c4bfeb8dfdf861e8fb5b011a5357ac49a77
2020-01-09 11:32:01 +01:00
Ryan Savitski
93162f2a6c ANDROID: update kernel ABI representation
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct perf_event at perf_event.h:574:1' changed:
  type size changed from 7808 to 7872 (in bits)
  1 data member insertion:
    'void* perf_event::security', at offset 7680 (in bits) at perf_event.h:726:1
  there are data member changes:
   'list_head perf_event::sb_list' offset changed from 7680 to 7744 (in bits) (by +64 bits)

  8 impacted interfaces:
    function event_trigger_type event_triggers_call(trace_event_file*, void*, ring_buffer_event*)
    function void perf_trace_run_bpf_submit(void*, int, int, trace_event_call*, u64, pt_regs*, hlist_head*, task_struct*)
    function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)
    function void trace_event_buffer_commit(trace_event_buffer*)
    function void* trace_event_buffer_reserve(trace_event_buffer*, trace_event_file*, unsigned long int)
    function bool trace_event_ignore_this_pid(trace_event_file*)
    function int trace_event_raw_init(trace_event_call*)
    function int trace_event_reg(trace_event_call*, trace_reg, void*)

Bug: 137092007
Change-Id: I6fb37e35177435c14aaeb2e3ddb9e21413641c28
Signed-off-by: Ryan Savitski <rsavitski@google.com>
2020-01-08 14:28:30 +00:00
Saravana Kannan
0d1b75863d ANDROID: Update ABI representation
Leaf changes summary: 0 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

Bug: 144066914
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: Ife40a6824427052b675478618ccff9e92435c7d5
2020-01-08 01:21:59 +00:00
Greg Kroah-Hartman
2ee9b8f709 ANDROID: update abi for 5.4.8 release
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct tcf_proto_ops at sch_generic.h:290:1' changed:
  type size changed from 1408 to 1472 (in bits)
  1 data member insertion:
    'void ()* tcf_proto_ops::delete_empty', at offset 704 (in bits) at sch_generic.h:311:1
  there are data member changes:
   'void ()* tcf_proto_ops::walk' offset changed from 704 to 768 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::reoffload' offset changed from 768 to 832 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::hw_add' offset changed from 832 to 896 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::hw_del' offset changed from 896 to 960 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::bind_class' offset changed from 960 to 1024 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::tmplt_create' offset changed from 1024 to 1088 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::tmplt_destroy' offset changed from 1088 to 1152 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::dump' offset changed from 1152 to 1216 (in bits) (by +64 bits)
   'void ()* tcf_proto_ops::tmplt_dump' offset changed from 1216 to 1280 (in bits) (by +64 bits)
   'module* tcf_proto_ops::owner' offset changed from 1280 to 1344 (in bits) (by +64 bits)
   'int tcf_proto_ops::flags' offset changed from 1344 to 1408 (in bits) (by +64 bits)

  483 impacted interfaces:

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I88e7977e747cff309bcf90d96f6e481c943e3a00
2020-01-04 20:00:29 +01:00
Alistair Delva
edac1de1ea ANDROID: gki_defconfig: Disable TRANSPARENT_HUGEPAGE
Fix conflict between jemalloc/scudo and MADV_NOHUGEPAGE by disabling the
transparent hugepage support. It has also been suggested that this
feature can make VM behavior less predictable.

Bug: 131119917
Change-Id: I17556838fbf1f893e26c5658ee95b4e3b16b10ad
Signed-off-by: Alistair Delva <adelva@google.com>
2019-12-23 12:31:37 -08:00
Alistair Delva
167420966b ANDROID: update ABI for db845c changes
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct pci_dev at pci.h:291:1' changed:
  type size changed from 15744 to 15808 (in bits)
  2 data member insertions:
    'unsigned int pci_dev::ltr_path', at offset 31 (in bits) at pci.h:363:1
    'pcie_link_state* pci_dev::link_state', at offset 1216 (in bits) at pci.h:362:1
  there are data member changes:
   'unsigned int pci_dev::eetlp_prefix_path' offset changed from 31 to 30 (in bits) (by -1 bits)
   'pci_channel_state_t pci_dev::error_state' offset changed from 1216 to 1312 (in bits) (by +96 bits)
   'device pci_dev::dev' offset changed from 1280 to 1344 (in bits) (by +64 bits)
   'int pci_dev::cfg_size' offset changed from 7424 to 7488 (in bits) (by +64 bits)
   'unsigned int pci_dev::irq' offset changed from 7456 to 7520 (in bits) (by +64 bits)
   'resource pci_dev::resource[11]' offset changed from 7488 to 7552 (in bits) (by +64 bits)
   'bool pci_dev::match_driver' offset changed from 13120 to 13184 (in bits) (by +64 bits)
   'unsigned int pci_dev::reset_fn' offset changed from 13120 to 13184 (in bits) (by +64 bits)
   'pci_dev_flags_t pci_dev::dev_flags' offset changed from 13168 to 13232 (in bits) (by +64 bits)
   'atomic_t pci_dev::enable_cnt' offset changed from 13184 to 13248 (in bits) (by +64 bits)
   'u32 pci_dev::saved_config_space[16]' offset changed from 13216 to 13280 (in bits) (by +64 bits)
   'hlist_head pci_dev::saved_cap_space' offset changed from 13760 to 13824 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::rom_attr' offset changed from 13824 to 13888 (in bits) (by +64 bits)
   'int pci_dev::rom_attr_enabled' offset changed from 13888 to 13952 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::res_attr[11]' offset changed from 13952 to 14016 (in bits) (by +64 bits)
   'bin_attribute* pci_dev::res_attr_wc[11]' offset changed from 14656 to 14720 (in bits) (by +64 bits)
   'const attribute_group** pci_dev::msi_irq_groups' offset changed from 15360 to 15424 (in bits) (by +64 bits)
   'pci_vpd* pci_dev::vpd' offset changed from 15424 to 15488 (in bits) (by +64 bits)
   'phys_addr_t pci_dev::rom' offset changed from 15488 to 15552 (in bits) (by +64 bits)
   'size_t pci_dev::romlen' offset changed from 15552 to 15616 (in bits) (by +64 bits)
   'char* pci_dev::driver_override' offset changed from 15616 to 15680 (in bits) (by +64 bits)
   'unsigned long int pci_dev::priv_flags' offset changed from 15680 to 15744 (in bits) (by +64 bits)

  17 impacted interfaces:
    function int __pci_register_driver(pci_driver*, module*, const char*)
    function int pci_alloc_irq_vectors_affinity(pci_dev*, unsigned int, unsigned int, unsigned int, irq_affinity*)
    function void pci_disable_device(pci_dev*)
    function int pci_enable_device(pci_dev*)
    function int pci_find_capability(pci_dev*, int)
    function int pci_find_ext_capability(pci_dev*, int)
    function int pci_find_next_capability(pci_dev*, u8, int)
    function void pci_free_irq_vectors(pci_dev*)
    function void* pci_iomap_range(pci_dev*, int, unsigned long int, unsigned long int)
    function const cpumask* pci_irq_get_affinity(pci_dev*, int)
    function int pci_irq_vector(pci_dev*, unsigned int)
    function int pci_read_config_byte(const pci_dev*, int, u8*)
    function int pci_read_config_dword(const pci_dev*, int, u32*)
    function void pci_release_selected_regions(pci_dev*, int)
    function int pci_request_selected_regions(pci_dev*, int, const char*)
    function void pci_set_master(pci_dev*)
    function void pci_unregister_driver(pci_driver*)

'struct pm_subsys_data at pm.h:530:1' changed:
  type size changed from 192 to 256 (in bits)
  1 data member insertion:
    'pm_domain_data* pm_subsys_data::domain_data', at offset 192 (in bits) at pm.h:537:1

  478 impacted interfaces:
    function void* PDE_DATA(const inode*)
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function class* __class_create(module*, const char*, lock_class_key*)
    function int __class_register(class*, lock_class_key*)
    function net_device* __dev_get_by_index(net*, int)
    function resource* __devm_request_region(device*, resource*, resource_size_t, resource_size_t, const char*)
    function reset_control* __devm_reset_control_get(device*, const char*, int, bool, bool, bool)
    function void* __devres_alloc_node(dr_release_t, size_t, gfp_t, int, const char*)
    function int __ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
    function char* __get_task_comm(char*, size_t, task_struct*)
    function void __hvc_resize(hvc_struct*, winsize)
    function sk_buff* __napi_alloc_skb(napi_struct*, unsigned int, gfp_t)
    function void __napi_schedule(napi_struct*)
    function sk_buff* __netdev_alloc_skb(net_device*, unsigned int, gfp_t)
    function int __netif_set_xps_queue(net_device*, const unsigned long int*, u16, bool)
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function int __pci_register_driver(pci_driver*, module*, const char*)
    function int __platform_driver_register(platform_driver*, module*)
    function void __pm_runtime_disable(device*, bool)
    function int __pm_runtime_idle(device*, int)
    function int __pm_runtime_resume(device*, int)
    function int __pm_runtime_set_status(device*, unsigned int)
    function int __pm_runtime_suspend(device*, int)
    function void __pm_runtime_use_autosuspend(device*, bool)
    function int __register_chrdev(unsigned int, unsigned int, unsigned int, const char*, const file_operations*)
    function int __rtc_register_device(module*, rtc_device*)
    function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function ssize_t __splice_from_pipe(pipe_inode_info*, splice_desc*, splice_actor*)
    function void _dev_err(const device*, const char*, ...)
    function void _dev_info(const device*, const char*, ...)
    function void _dev_notice(const device*, const char*, ...)
    function void _dev_warn(const device*, const char*, ...)
    function net_device* alloc_etherdev_mqs(int, unsigned int, unsigned int)
    function net_device* alloc_netdev_mqs(int, const char*, unsigned char, void ()*, unsigned int, unsigned int)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function bool blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_queue_map*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function bool blk_queue_can_use_dma_map_merging(request_queue*, device*)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned short int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_discard_segments(request_queue*, unsigned short int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_max_write_zeroes_sectors(request_queue*, unsigned int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function int call_netdevice_notifiers(unsigned long int, net_device*)
    function int cdev_add(cdev*, dev_t, unsigned int)
    function cdev* cdev_alloc()
    function void cdev_del(cdev*)
    function int cdev_device_add(cdev*, device*)
    function void cdev_device_del(cdev*, device*)
    function void cdev_init(cdev*, const file_operations*)
    function void cfg80211_connect_done(net_device*, cfg80211_connect_resp_params*, gfp_t)
    function void cfg80211_disconnected(net_device*, u16, const u8*, size_t, bool, gfp_t)
    function cfg80211_bss* cfg80211_inform_bss_data(wiphy*, cfg80211_inform_bss*, cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)
    function void cfg80211_put_bss(wiphy*, cfg80211_bss*)
    function void cfg80211_scan_done(cfg80211_scan_request*, cfg80211_scan_info*)
    function int check_disk_change(block_device*)
    function void class_destroy(class*)
    function void class_unregister(class*)
    function int cpufreq_register_driver(cpufreq_driver*)
    function int cpufreq_unregister_driver(cpufreq_driver*)
    function int crypto_register_alg(crypto_alg*)
    function int crypto_unregister_alg(crypto_alg*)
    function __poll_t datagram_poll(file*, socket*, poll_table*)
    function ssize_t debugfs_attr_read(file*, char*, size_t, loff_t*)
    function ssize_t debugfs_attr_write(file*, const char*, size_t, loff_t*)
    function dentry* debugfs_create_dir(const char*, dentry*)
    function dentry* debugfs_create_file(const char*, umode_t, dentry*, void*, const file_operations*)
    function dentry* debugfs_create_file_unsafe(const char*, umode_t, dentry*, void*, const file_operations*)
    function dentry* debugfs_create_x32(const char*, umode_t, dentry*, u32*)
    function void debugfs_remove(dentry*)
    function void debugfs_remove_recursive(dentry*)
    function loff_t default_llseek(file*, loff_t, int)
    function void del_gendisk(gendisk*)
    function void dev_add_pack(packet_type*)
    function void dev_close(net_device*)
    function const char* dev_driver_string(const device*)
    function fwnode_handle* dev_fwnode(device*)
    function net_device* dev_get_by_index(net*, int)
    function net_device* dev_get_by_index_rcu(net*, int)
    function rtnl_link_stats64* dev_get_stats(net_device*, rtnl_link_stats64*)
    function int dev_mc_sync_multiple(net_device*, net_device*)
    function void dev_mc_unsync(net_device*, net_device*)
    function int dev_open(net_device*, netlink_ext_ack*)
    function int dev_pm_domain_attach(device*, bool)
    function void dev_pm_domain_detach(device*, bool)
    function void dev_printk(const char*, const device*, const char*, ...)
    function void dev_remove_pack(packet_type*)
    function int dev_set_mtu(net_device*, int)
    function int dev_set_name(device*, const char*, ...)
    function int dev_uc_sync_multiple(net_device*, net_device*)
    function void dev_uc_unsync(net_device*, net_device*)
    function int device_add(device*)
    function void device_add_disk(device*, gendisk*, const attribute_group**)
    function device* device_create(class*, device*, dev_t, void*, const char*, ...)
    function int device_create_file(device*, const device_attribute*)
    function void device_del(device*)
    function void device_destroy(class*, dev_t)
    function int device_for_each_child(device*, void*, void ()*)
    function int device_init_wakeup(device*, bool)
    function void device_initialize(device*)
    function bool device_property_present(device*, const char*)
    function int device_property_read_u32_array(device*, const char*, u32*, size_t)
    function int device_register(device*)
    function void device_remove_file(device*, const device_attribute*)
    function void device_unregister(device*)
    function clk* devm_clk_get(device*, const char*)
    function gpio_desc* devm_gpiod_get_index(device*, const char*, unsigned int, gpiod_flags)
    function void* devm_ioremap(device*, resource_size_t, resource_size_t)
    function char* devm_kasprintf(device*, gfp_t, const char*, ...)
    function void devm_kfree(device*, void*)
    function void* devm_kmalloc(device*, size_t, gfp_t)
    function void* devm_platform_ioremap_resource(platform_device*, unsigned int)
    function regulator* devm_regulator_get_optional(device*, const char*)
    function int devm_request_threaded_irq(device*, unsigned int, irq_handler_t, irq_handler_t, unsigned long int, const char*, void*)
    function rtc_device* devm_rtc_allocate_device(device*)
    function void devres_add(device*, void*)
    function int devres_destroy(device*, dr_release_t, dr_match_t, void*)
    function void* dma_alloc_attrs(device*, size_t, dma_addr_t*, gfp_t, unsigned long int)
    function dma_addr_t dma_direct_map_page(device*, page*, unsigned long int, size_t, dma_data_direction, unsigned long int)
    function int dma_direct_map_sg(device*, scatterlist*, int, dma_data_direction, unsigned long int)
    function void dma_direct_sync_sg_for_cpu(device*, scatterlist*, int, dma_data_direction)
    function void dma_direct_sync_sg_for_device(device*, scatterlist*, int, dma_data_direction)
    function void dma_direct_sync_single_for_cpu(device*, dma_addr_t, size_t, dma_data_direction)
    function void dma_direct_sync_single_for_device(device*, dma_addr_t, size_t, dma_data_direction)
    function void dma_direct_unmap_page(device*, dma_addr_t, size_t, dma_data_direction, unsigned long int)
    function void dma_direct_unmap_sg(device*, scatterlist*, int, dma_data_direction, unsigned long int)
    function void dma_free_attrs(device*, size_t, void*, dma_addr_t, unsigned long int)
    function unsigned long int dma_get_merge_boundary(device*)
    function size_t dma_max_mapping_size(device*)
    function void dma_resv_add_excl_fence(dma_resv*, dma_fence*)
    function void dma_resv_add_shared_fence(dma_resv*, dma_fence*)
    function int dma_resv_copy_fences(dma_resv*, dma_resv*)
    function void dma_resv_fini(dma_resv*)
    function void dma_resv_init(dma_resv*)
    function int dma_resv_reserve_shared(dma_resv*, unsigned int)
    function bool dma_resv_test_signaled_rcu(dma_resv*, bool)
    function long int dma_resv_wait_timeout_rcu(dma_resv*, bool, bool, unsigned long int)
    function int dma_set_coherent_mask(device*, u64)
    function int dma_set_mask(device*, u64)
    function int drm_add_edid_modes(drm_connector*, edid*)
    function int drm_add_modes_noedid(drm_connector*, int, int)
    function int drm_atomic_helper_check(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_cleanup_planes(drm_device*, drm_atomic_state*)
    function int drm_atomic_helper_commit(drm_device*, drm_atomic_state*, bool)
    function void drm_atomic_helper_commit_hw_done(drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_disables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_enables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_planes(drm_device*, drm_atomic_state*, uint32_t)
    function void drm_atomic_helper_connector_destroy_state(drm_connector*, drm_connector_state*)
    function drm_connector_state* drm_atomic_helper_connector_duplicate_state(drm_connector*)
    function void drm_atomic_helper_connector_reset(drm_connector*)
    function void drm_atomic_helper_crtc_destroy_state(drm_crtc*, drm_crtc_state*)
    function drm_crtc_state* drm_atomic_helper_crtc_duplicate_state(drm_crtc*)
    function void drm_atomic_helper_crtc_reset(drm_crtc*)
    function int drm_atomic_helper_dirtyfb(drm_framebuffer*, drm_file*, unsigned int, unsigned int, drm_clip_rect*, unsigned int)
    function int drm_atomic_helper_disable_plane(drm_plane*, drm_modeset_acquire_ctx*)
    function int drm_atomic_helper_page_flip(drm_crtc*, drm_framebuffer*, drm_pending_vblank_event*, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_plane_destroy_state(drm_plane*, drm_plane_state*)
    function drm_plane_state* drm_atomic_helper_plane_duplicate_state(drm_plane*)
    function void drm_atomic_helper_plane_reset(drm_plane*)
    function int drm_atomic_helper_set_config(drm_mode_set*, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_shutdown(drm_device*)
    function int drm_atomic_helper_update_plane(drm_plane*, drm_crtc*, drm_framebuffer*, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_wait_for_vblanks(drm_device*, drm_atomic_state*)
    function int drm_class_device_register(device*)
    function void drm_class_device_unregister(device*)
    function long int drm_compat_ioctl(file*, unsigned int, unsigned long int)
    function void drm_connector_attach_edid_property(drm_connector*)
    function int drm_connector_attach_encoder(drm_connector*, drm_encoder*)
    function void drm_connector_cleanup(drm_connector*)
    function int drm_connector_init(drm_device*, drm_connector*, const drm_connector_funcs*, int)
    function int drm_connector_register(drm_connector*)
    function void drm_connector_unregister(drm_connector*)
    function int drm_connector_update_edid_property(drm_connector*, const edid*)
    function void drm_crtc_cleanup(drm_crtc*)
    function int drm_crtc_init_with_planes(drm_device*, drm_crtc*, drm_plane*, drm_plane*, const drm_crtc_funcs*, const char*, ...)
    function void drm_crtc_send_vblank_event(drm_crtc*, drm_pending_vblank_event*)
    function drm_display_mode* drm_cvt_mode(drm_device*, int, int, int, bool, bool, bool)
    function int drm_debugfs_create_files(const drm_info_list*, int, dentry*, drm_minor*)
    function drm_device* drm_dev_alloc(drm_driver*, device*)
    function void drm_dev_put(drm_device*)
    function int drm_dev_register(drm_device*, unsigned long int)
    function int drm_dev_set_unique(drm_device*, const char*)
    function void drm_dev_unregister(drm_device*)
    function edid* drm_do_get_edid(drm_connector*, void ()*, void*)
    function void drm_encoder_cleanup(drm_encoder*)
    function int drm_encoder_init(drm_device*, drm_encoder*, const drm_encoder_funcs*, int, const char*, ...)
    function int drm_framebuffer_init(drm_device*, drm_framebuffer*, const drm_framebuffer_funcs*)
    function int drm_gem_fb_create_handle(drm_framebuffer*, drm_file*, unsigned int*)
    function void drm_gem_fb_destroy(drm_framebuffer*)
    function int drm_gem_handle_create(drm_file*, drm_gem_object*, u32*)
    function int drm_gem_object_init(drm_device*, drm_gem_object*, size_t)
    function drm_gem_object* drm_gem_object_lookup(drm_file*, u32)
    function void drm_gem_object_put_unlocked(drm_gem_object*)
    function void drm_gem_object_release(drm_gem_object*)
    function int drm_gem_prime_fd_to_handle(drm_device*, drm_file*, int, uint32_t*)
    function int drm_gem_prime_handle_to_fd(drm_device*, drm_file*, uint32_t, uint32_t, int*)
    function int drm_gem_prime_mmap(drm_gem_object*, vm_area_struct*)
    function bool drm_helper_hpd_irq_event(drm_device*)
    function void drm_helper_mode_fill_fb_struct(drm_device*, drm_framebuffer*, const drm_mode_fb_cmd2*)
    function int drm_helper_probe_single_connector_modes(drm_connector*, uint32_t, uint32_t)
    function long int drm_ioctl(file*, unsigned int, unsigned long int)
    function void drm_kms_helper_hotplug_event(drm_device*)
    function void drm_mode_config_cleanup(drm_device*)
    function void drm_mode_config_init(drm_device*)
    function void drm_mode_config_reset(drm_device*)
    function void drm_mode_probed_add(drm_connector*, drm_display_mode*)
    function int drm_open(inode*, file*)
    function void drm_plane_cleanup(drm_plane*)
    function __poll_t drm_poll(file*, poll_table_struct*)
    function void drm_put_dev(drm_device*)
    function ssize_t drm_read(file*, char*, size_t, loff_t*)
    function int drm_release(inode*, file*)
    function void drm_set_preferred_mode(drm_connector*, int, int)
    function int drm_universal_plane_init(drm_device*, drm_plane*, uint32_t, const drm_plane_funcs*, const uint32_t*, unsigned int, const uint64_t*, drm_plane_type, const char*, ...)
    function void eth_commit_mac_addr_change(net_device*, void*)
    function int eth_prepare_mac_addr_change(net_device*, void*)
    function __be16 eth_type_trans(sk_buff*, net_device*)
    function int eth_validate_addr(net_device*)
    function void ether_setup(net_device*)
    function u32 ethtool_op_get_link(net_device*)
    function int ethtool_op_get_ts_info(net_device*, ethtool_ts_info*)
    function event_trigger_type event_triggers_call(trace_event_file*, void*, ring_buffer_event*)
    function int fasync_helper(int, file*, int, fasync_struct**)
    function void fd_install(unsigned int, file*)
    function void fput(file*)
    function void free_netdev(net_device*)
    function bool freezing_slow_path(task_struct*)
    function int fsl8250_handle_irq(uart_port*)
    function loff_t generic_file_llseek(file*, loff_t, int)
    function device* get_device(device*)
    function int gpiod_cansleep(const gpio_desc*)
    function int gpiod_get_raw_value(const gpio_desc*)
    function int gpiod_get_raw_value_cansleep(const gpio_desc*)
    function int gpiod_get_value(const gpio_desc*)
    function int gpiod_get_value_cansleep(const gpio_desc*)
    function int gpiod_is_active_low(const gpio_desc*)
    function int gpiod_set_debounce(gpio_desc*, unsigned int)
    function int gpiod_to_irq(const gpio_desc*)
    function hvc_struct* hvc_alloc(uint32_t, int, const hv_ops*, int)
    function int hvc_instantiate(uint32_t, int, const hv_ops*)
    function int hvc_poll(hvc_struct*)
    function int hvc_remove(hvc_struct*)
    function void input_alloc_absinfo(input_dev*)
    function input_dev* input_allocate_device()
    function void input_event(input_dev*, unsigned int, unsigned int, int)
    function void input_free_device(input_dev*)
    function int input_mt_init_slots(input_dev*, unsigned int, unsigned int)
    function int input_register_device(input_dev*)
    function void input_set_abs_params(input_dev*, unsigned int, int, int, int, int)
    function void input_unregister_device(input_dev*)
    function void kobject_del(kobject*)
    function int kobject_init_and_add(kobject*, kobj_type*, kobject*, const char*, ...)
    function void kobject_put(kobject*)
    function int kobject_uevent(kobject*, kobject_action)
    function int kobject_uevent_env(kobject*, kobject_action, char**)
    function task_struct* kthread_create_on_node(void ()*, void*, int, const char*, ...)
    function kthread_worker* kthread_create_worker(unsigned int, const char*, ...)
    function void kthread_destroy_worker(kthread_worker*)
    function bool kthread_queue_work(kthread_worker*, kthread_work*)
    function int kthread_stop(task_struct*)
    function int led_classdev_register_ext(device*, led_classdev*, led_init_data*)
    function void led_classdev_unregister(led_classdev*)
    function void led_trigger_event(led_trigger*, led_brightness)
    function void led_trigger_register_simple(const char*, led_trigger**)
    function void led_trigger_unregister_simple(led_trigger*)
    function void lock_sock_nested(sock*, int)
    function void misc_deregister(miscdevice*)
    function int misc_register(miscdevice*)
    function bool napi_complete_done(napi_struct*, int)
    function void napi_disable(napi_struct*)
    function gro_result_t napi_gro_receive(napi_struct*, sk_buff*)
    function bool napi_hash_del(napi_struct*)
    function bool napi_schedule_prep(napi_struct*)
    function void netdev_change_features(net_device*)
    function void netdev_err(const net_device*, const char*, ...)
    function void netdev_info(const net_device*, const char*, ...)
    function void netdev_lower_state_changed(net_device*, void*)
    function int netdev_master_upper_dev_link(net_device*, net_device*, void*, void*, netlink_ext_ack*)
    function void netdev_notify_peers(net_device*)
    function u16 netdev_pick_tx(net_device*, sk_buff*, net_device*)
    function int netdev_rx_handler_register(net_device*, rx_handler_func_t*, void*)
    function void netdev_rx_handler_unregister(net_device*)
    function int netdev_upper_dev_link(net_device*, net_device*, netlink_ext_ack*)
    function void netdev_upper_dev_unlink(net_device*, net_device*)
    function void netdev_warn(const net_device*, const char*, ...)
    function void netif_carrier_off(net_device*)
    function void netif_carrier_on(net_device*)
    function void netif_device_attach(net_device*)
    function void netif_device_detach(net_device*)
    function void netif_napi_add(net_device*, napi_struct*, void ()*, int)
    function void netif_napi_del(napi_struct*)
    function int netif_set_real_num_rx_queues(net_device*, unsigned int)
    function int netif_set_real_num_tx_queues(net_device*, unsigned int)
    function void netif_stacked_transfer_operstate(const net_device*, net_device*)
    function void netif_tx_stop_all_queues(net_device*)
    function loff_t no_llseek(file*, loff_t, int)
    function int nonseekable_open(inode*, file*)
    function loff_t noop_llseek(file*, loff_t, int)
    function int of_address_to_resource(device_node*, int, resource*)
    function int of_alias_get_id(device_node*, const char*)
    function void* of_device_get_match_data(const device*)
    function bool of_device_is_big_endian(const device_node*)
    function int of_device_is_compatible(const device_node*, const char*)
    function property* of_find_property(const device_node*, const char*, int*)
    function device_node* of_get_child_by_name(const device_node*, const char*)
    function device_node* of_get_next_child(const device_node*, device_node*)
    function void* of_get_property(const device_node*, const char*, int*)
    function int of_irq_get(device_node*, int)
    function device_node* of_parse_phandle(const device_node*, const char*, int)
    function int of_property_read_u64(const device_node*, const char*, u64*)
    function int of_property_read_variable_u32_array(const device_node*, const char*, u32*, size_t, size_t)
    function netdev_features_t passthru_features_check(sk_buff*, net_device*, netdev_features_t)
    function int pci_alloc_irq_vectors_affinity(pci_dev*, unsigned int, unsigned int, unsigned int, irq_affinity*)
    function void pci_disable_device(pci_dev*)
    function int pci_enable_device(pci_dev*)
    function int pci_find_capability(pci_dev*, int)
    function int pci_find_ext_capability(pci_dev*, int)
    function int pci_find_next_capability(pci_dev*, u8, int)
    function void pci_free_irq_vectors(pci_dev*)
    function void* pci_iomap_range(pci_dev*, int, unsigned long int, unsigned long int)
    function const cpumask* pci_irq_get_affinity(pci_dev*, int)
    function int pci_irq_vector(pci_dev*, unsigned int)
    function int pci_read_config_byte(const pci_dev*, int, u8*)
    function int pci_read_config_dword(const pci_dev*, int, u32*)
    function void pci_release_selected_regions(pci_dev*, int)
    function int pci_request_selected_regions(pci_dev*, int, const char*)
    function void pci_set_master(pci_dev*)
    function void pci_unregister_driver(pci_driver*)
    function void perf_trace_run_bpf_submit(void*, int, int, trace_event_call*, u64, pt_regs*, hlist_head*, task_struct*)
    function int platform_device_add(platform_device*)
    function int platform_device_add_data(platform_device*, void*, size_t)
    function platform_device* platform_device_alloc(const char*, int)
    function void platform_device_del(platform_device*)
    function void platform_device_put(platform_device*)
    function platform_device* platform_device_register_full(const platform_device_info*)
    function void platform_device_unregister(platform_device*)
    function void platform_driver_unregister(platform_driver*)
    function int platform_get_irq(platform_device*, unsigned int)
    function resource* platform_get_resource(platform_device*, unsigned int, unsigned int)
    function int pm_generic_resume(device*)
    function int pm_generic_runtime_resume(device*)
    function int pm_generic_runtime_suspend(device*)
    function int pm_generic_suspend(device*)
    function void pm_runtime_enable(device*)
    function void pm_runtime_set_autosuspend_delay(device*, int)
    function void pm_wakeup_dev_event(device*, unsigned int, bool)
    function void put_device(device*)
    function void put_disk(gendisk*)
    function int register_netdev(net_device*)
    function int register_netdevice(net_device*)
    function int register_pernet_subsys(pernet_operations*)
    function int regulator_count_voltages(regulator*)
    function int regulator_disable(regulator*)
    function int regulator_enable(regulator*)
    function int regulator_get_current_limit(regulator*)
    function int regulator_get_voltage(regulator*)
    function int regulator_is_supported_voltage(regulator*, int, int)
    function int regulator_list_voltage(regulator*, unsigned int)
    function int regulator_set_voltage(regulator*, int, int)
    function void release_sock(sock*)
    function int reset_control_assert(reset_control*)
    function int reset_control_deassert(reset_control*)
    function int revalidate_disk(gendisk*)
    function void rtc_update_irq(rtc_device*, unsigned long int, unsigned long int)
    function int rtnl_link_register(rtnl_link_ops*)
    function void rtnl_link_unregister(rtnl_link_ops*)
    function int sched_setscheduler(task_struct*, int, const sched_param*)
    function loff_t seq_lseek(file*, loff_t, int)
    function void seq_printf(seq_file*, const char*, ...)
    function void seq_putc(seq_file*, char)
    function void seq_puts(seq_file*, const char*)
    function ssize_t seq_read(file*, char*, size_t, loff_t*)
    function uart_8250_port* serial8250_get_port(int)
    function int serial8250_register_8250_port(uart_8250_port*)
    function void set_disk_ro(gendisk*, int)
    function file* shmem_file_setup(const char*, loff_t, unsigned long int)
    function int simple_attr_open(inode*, file*, void ()*, void ()*, const char*)
    function ssize_t simple_attr_read(file*, char*, size_t, loff_t*)
    function int simple_attr_release(inode*, file*)
    function ssize_t simple_attr_write(file*, const char*, size_t, loff_t*)
    function int single_open(file*, void ()*, void*)
    function int single_release(inode*, file*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function void sk_free(sock*)
    function void skb_free_datagram(sock*, sk_buff*)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function int sock_gettstamp(socket*, void*, bool, bool)
    function unsigned long int sock_i_ino(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_no_accept(socket*, socket*, int, bool)
    function int sock_no_bind(socket*, sockaddr*, int)
    function int sock_no_connect(socket*, sockaddr*, int, int)
    function int sock_no_getname(socket*, sockaddr*, int)
    function int sock_no_getsockopt(socket*, int, int, char*, int*)
    function int sock_no_ioctl(socket*, unsigned int, unsigned long int)
    function int sock_no_listen(socket*, int)
    function int sock_no_mmap(file*, socket*, vm_area_struct*)
    function ssize_t sock_no_sendpage(socket*, page*, int, size_t, int)
    function int sock_no_setsockopt(socket*, int, int, char*, unsigned int)
    function int sock_no_shutdown(socket*, int)
    function int sock_no_socketpair(socket*, socket*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)
    function int sock_register(const net_proto_family*)
    function sync_file* sync_file_create(dma_fence*)
    function int sysfs_create_bin_file(kobject*, const bin_attribute*)
    function int sysfs_create_group(kobject*, const attribute_group*)
    function void sysfs_remove_bin_file(kobject*, const bin_attribute*)
    function void sysfs_remove_group(kobject*, const attribute_group*)
    function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)
    function void trace_event_buffer_commit(trace_event_buffer*)
    function void* trace_event_buffer_reserve(trace_event_buffer*, trace_event_file*, unsigned long int)
    function bool trace_event_ignore_this_pid(trace_event_file*)
    function int trace_event_raw_init(trace_event_call*)
    function int trace_event_reg(trace_event_call*, trace_reg, void*)
    function void unregister_netdev(net_device*)
    function void unregister_netdevice_queue(net_device*, list_head*)
    function void unregister_pernet_subsys(pernet_operations*)
    function int usb_add_gadget_udc(device*, usb_gadget*)
    function int usb_add_hcd(usb_hcd*, unsigned int, unsigned long int)
    function usb_hcd* usb_create_hcd(const hc_driver*, device*, const char*)
    function usb_hcd* usb_create_shared_hcd(const hc_driver*, device*, const char*, usb_hcd*)
    function usb_device* usb_get_dev(usb_device*)
    function int usb_hcd_check_unlink_urb(usb_hcd*, urb*, int)
    function void usb_hcd_giveback_urb(usb_hcd*, urb*, int)
    function int usb_hcd_is_primary_hcd(usb_hcd*)
    function int usb_hcd_link_urb_to_ep(usb_hcd*, urb*)
    function void usb_hcd_poll_rh_status(usb_hcd*)
    function void usb_hcd_resume_root_hub(usb_hcd*)
    function void usb_hcd_unlink_urb_from_ep(usb_hcd*, urb*)
    function void usb_put_dev(usb_device*)
    function void usb_put_hcd(usb_hcd*)
    function void usb_remove_hcd(usb_hcd*)
    function vm_fault_t vmf_insert_mixed(vm_area_struct*, unsigned long int, pfn_t)
    function vm_fault_t vmf_insert_pfn(vm_area_struct*, unsigned long int, unsigned long int)
    function int wake_up_process(task_struct*)
    function void wiphy_free(wiphy*)
    function wiphy* wiphy_new_nm(const cfg80211_ops*, int, const char*)
    function int wiphy_register(wiphy*)
    function void wiphy_unregister(wiphy*)
    function int ww_mutex_lock(ww_mutex*, ww_acquire_ctx*)
    function int ww_mutex_lock_interruptible(ww_mutex*, ww_acquire_ctx*)
    function void ww_mutex_unlock(ww_mutex*)
    function int xdp_do_redirect(net_device*, xdp_buff*, bpf_prog*)
    function int xdp_rxq_info_reg(xdp_rxq_info*, net_device*, u32)

Bug: 146449535
Change-Id: I27bdc96f7ebd9891eb41562b4db18d691308496d
Signed-off-by: Alistair Delva <adelva@google.com>
2019-12-20 10:25:41 -08:00
Ram Muthiah
5527e65c43 ANDROID: gki_defconfig: enable ARM64_SW_TTBR0_PAN
Bug: 146537847
Bug: 143710295
Test: Treehugger
Change-Id: I1e64095a563a8b7a3f3ced160cec72ca5d1e8a8d
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
2019-12-19 11:28:48 -08:00
Ram Muthiah
e060d9b6f1 ANDROID: gki_defconfig: Set BINFMT_MISC as =m
Bug: 145774383
Test: Treehugger
Change-Id: I7a3c395875504c455e4e720c807f52d083d35f9b
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
2019-12-19 11:23:33 -08:00
Greg Kroah-Hartman
45d92463d4 ANDROID: update ABI for 5.4.5
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct flow_dissector at flow_dissector.h:267:1' changed:
  type size changed from 448 to 480 (in bits)
  there are data member changes:
   type 'unsigned short int[26]' of 'flow_dissector::offset' changed:
     type name changed from 'unsigned short int[26]' to 'unsigned short int[27]'
     array type size changed from 416 to 432
     array type subrange 1 changed length from 26 to 27
, size changed from 416 to 432 (in bits) (by +16 bits)

  one impacted interface:
    function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1a4277b8bc5bada6444c914f76d80b24fec94aac
2019-12-18 17:48:28 +01:00
Matthias Maennich
b9962accde ANDROID: add initial ABI whitelist for android-5.4
Bug: 145692847
Change-Id: I52e4b9b6bc025a86eb4f75bc7643a69b1e5c0d93
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-12-18 10:56:40 +00:00
Greg Kroah-Hartman
fcf7605013 ANDROID: abi update for 5.4.4
New functions added from previous patches, 3 from android-specific
patches, one from 5.4.4 itself.

Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 4 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

4 Added functions:

  [A] 'function long int compat_ptr_ioctl(file*, unsigned int, unsigned long int)'
  [A] 'function int ufshcd_query_attr(ufs_hba*, query_opcode, attr_idn, u8, u8, u32*)'
  [A] 'function int ufshcd_query_descriptor_retry(ufs_hba*, query_opcode, desc_idn, u8, u8, u8*, int*)'
  [A] 'function int ufshcd_query_flag(ufs_hba*, query_opcode, flag_idn, bool*)'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I323015598d3077fb149c03dd4c3d6947e0a5b25c
2019-12-17 20:01:06 +00:00
Todd Kjos
d080cb7f9e ANDROID: update abi with unbindable_ports sysctl
Leaf changes summary: 4 artifacts changed (2 filtered out)
Changed leaf types summary: 2 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 1 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some sub-type change:

'struct net at net_namespace.h:54:1' changed:
  type size hasn't changed
  there are data member changes:
   type 'struct netns_ipv4' of 'net::ipv4' changed:
     type size hasn't changed
     1 data member insertion:
       'unsigned long int* netns_ipv4::sysctl_local_unbindable_ports', at offset 6464 (in bits) at ipv4.h:200:1
     there are data member changes:
      'int netns_ipv4::sysctl_ip_prot_sock' offset changed from 6464 to 6528 (in bits) (by +64 bits)
      'fib_notifier_ops* netns_ipv4::notifier_ops' offset changed from 6528 to 6592 (in bits) (by +64 bits)
      'unsigned int netns_ipv4::fib_seq' offset changed from 6592 to 6656 (in bits) (by +64 bits)
      'fib_notifier_ops* netns_ipv4::ipmr_notifier_ops' offset changed from 6656 to 6720 (in bits) (by +64 bits)
      'unsigned int netns_ipv4::ipmr_seq' offset changed from 6720 to 6784 (in bits) (by +64 bits)
      'atomic_t netns_ipv4::rt_genid' offset changed from 6752 to 6816 (in bits) (by +64 bits)
      'siphash_key_t netns_ipv4::ip_id_key' offset changed from 6784 to 6848 (in bits) (by +64 bits)

     1565 impacted interfaces:
       Qdisc_ops bfifo_qdisc_ops
       const Qdisc_ops* default_qdisc_ops
       const proto_ops inet_dgram_ops
       const proto_ops inet_stream_ops
       const inet_connection_sock_af_ops ipv4_specific
       const ipv6_bpf_stub* ipv6_bpf_stub
       const ipv6_stub* ipv6_stub
       const nf_ipv6_ops* nf_ipv6_ops
       Qdisc noop_qdisc
       Qdisc_ops pfifo_fast_ops
       Qdisc_ops pfifo_qdisc_ops
       function sk_buff* __cfg80211_alloc_event_skb(wiphy*, wireless_dev*, nl80211_commands, nl80211_attrs, unsigned int, int, int, gfp_t)
       function sk_buff* __cfg80211_alloc_reply_skb(wiphy*, nl80211_commands, nl80211_attrs, int)
       function int __cgroup_bpf_run_filter_getsockopt(sock*, int, int, char*, int*, int, int)
       function int __cgroup_bpf_run_filter_setsockopt(sock*, int*, int*, char*, int*, char**)
       function int __cgroup_bpf_run_filter_sk(sock*, bpf_attach_type)
       function int __cgroup_bpf_run_filter_skb(sock*, sk_buff*, bpf_attach_type)
       function int __cgroup_bpf_run_filter_sock_addr(sock*, sockaddr*, bpf_attach_type, void*)
       function int __cgroup_bpf_run_filter_sock_ops(sock*, bpf_sock_ops_kern*, bpf_attach_type)
       function int __dev_forward_skb(net_device*, sk_buff*)
       function net_device* __dev_get_by_flags(net*, unsigned short int, unsigned short int)
       function net_device* __dev_get_by_index(net*, int)
       function net_device* __dev_get_by_name(net*, const char*)
       function net_device* __dev_getfirstbyhwtype(net*, unsigned short int)
       function void __dev_remove_pack(packet_type*)
       function int __dev_set_mtu(net_device*, int)
       function void __dst_destroy_metrics_generic(dst_entry*, unsigned long int)
       function int __ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
       function int __fib_lookup(net*, flowi4*, fib_result*, unsigned int)
       function ip6_flowlabel* __fl6_sock_lookup(sock*, __be32)
       function int __hw_addr_ref_sync_dev(netdev_hw_addr_list*, net_device*, void ()*, void ()*)
       function void __hw_addr_ref_unsync_dev(netdev_hw_addr_list*, net_device*, void ()*)
       function int __hw_addr_sync_dev(netdev_hw_addr_list*, net_device*, void ()*, void ()*)
       function void __hw_addr_unsync_dev(netdev_hw_addr_list*, net_device*, void ()*)
       function void __ieee80211_schedule_txq(ieee80211_hw*, ieee80211_txq*, bool)
       function sock* __inet6_lookup_established(net*, inet_hashinfo*, const in6_addr*, const __be16, const in6_addr*, const u16, const int, const int)
       function int __inet_hash(sock*, sock*)
       function int __inet_inherit_port(const sock*, sock*)
       function sock* __inet_lookup_established(net*, inet_hashinfo*, const __be32, const __be16, const __be32, const u16, const int, const int)
       function sock* __inet_lookup_listener(net*, inet_hashinfo*, sk_buff*, int, const __be32, __be16, const __be32, const unsigned short int, const int, const int)
       function int __inet_stream_connect(socket*, sockaddr*, int, int, int)
       function int __ip4_datagram_connect(sock*, sockaddr*, int)
       function int __ip6_datagram_connect(sock*, sockaddr*, int)
       function int __ip6_local_out(net*, sock*, sk_buff*)
       function net_device* __ip_dev_find(net*, __be32, bool)
       function void __ip_mc_dec_group(in_device*, __be32, gfp_t)
       function void __ip_mc_inc_group(in_device*, __be32, gfp_t)
       function int __ip_options_compile(net*, ip_options*, sk_buff*, __be32*)
       function int __ip_queue_xmit(sock*, sk_buff*, flowi*, __u8)
       function void __ip_select_ident(net*, iphdr*, int)
       function int __ip_tunnel_change_mtu(net_device*, int, bool)
       function void __l2tp_session_unhash(l2tp_session*)
       function sk_buff* __napi_alloc_skb(napi_struct*, unsigned int, gfp_t)
       function void __napi_schedule(napi_struct*)
       function void __napi_schedule_irqoff(napi_struct*)
       function neighbour* __neigh_create(neigh_table*, void*, net_device*, bool)
       function int __neigh_event_send(neighbour*, sk_buff*)
       function void __neigh_for_each_release(neigh_table*, void ()*)
       function void __neigh_set_probe_once(neighbour*)
       function sk_buff* __netdev_alloc_skb(net_device*, unsigned int, gfp_t)
       function void __netif_schedule(Qdisc*)
       function int __netif_set_xps_queue(net_device*, const unsigned long int*, u16, bool)
       function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
       function sock* __netlink_kernel_create(net*, int, module*, netlink_kernel_cfg*)
       function bool __netlink_ns_capable(const netlink_skb_parms*, user_namespace*, int)
       function nf_conntrack_expect* __nf_ct_expect_find(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
       function int __nf_ip6_route(net*, dst_entry**, flowi*, bool)
       function int __phy_modify(phy_device*, u32, u16, u16)
       function int __phy_modify_changed(phy_device*, u32, u16, u16)
       function int __phy_modify_mmd(phy_device*, int, u32, u16, u16)
       function int __phy_modify_mmd_changed(phy_device*, int, u32, u16, u16)
       function int __phy_read_mmd(phy_device*, int, u32)
       function int __phy_write_mmd(phy_device*, int, u32, u16)
       function pneigh_entry* __pneigh_lookup(neigh_table*, net*, void*, net_device*)
       function sock* __raw_v4_lookup(net*, sock*, unsigned short int, __be32, __be32, int, int)
       function sock* __raw_v6_lookup(net*, sock*, unsigned short int, const in6_addr*, const in6_addr*, int, int)
       function int __rtnl_link_register(rtnl_link_ops*)
       function void __rtnl_link_unregister(rtnl_link_ops*)
       function int __scm_send(socket*, msghdr*, scm_cookie*)
       function int __sk_backlog_rcv(sock*, sk_buff*)
       function dst_entry* __sk_dst_check(sock*, u32)
       function int __sk_mem_raise_allocated(sock*, int, int, int)
       function void __sk_mem_reclaim(sock*, int)
       function void __sk_mem_reduce_allocated(sock*, int)
       function int __sk_mem_schedule(sock*, int, int)
       function int __sk_queue_drop_skb(sock*, sk_buff_head*, sk_buff*, unsigned int, void ()*)
       function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)
       function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)
       function void __skb_free_datagram_locked(sock*, sk_buff*, int)
       function sk_buff* __skb_recv_datagram(sock*, unsigned int, void ()*, int*, int*)
       function sk_buff* __skb_recv_udp(sock*, unsigned int, int, int*, int*)
       function sk_buff* __skb_try_recv_datagram(sock*, unsigned int, void ()*, int*, int*, sk_buff**)
       function void __skb_tstamp_tx(sk_buff*, skb_shared_hwtstamps*, sock*, int)
       function int __skb_wait_for_more_packets(sock*, int*, long int*, const sk_buff*)
       function int __sock_cmsg_send(sock*, msghdr*, cmsghdr*, sockcm_cookie*)
       function int __sock_create(net*, int, int, int, socket**, int)
       function int __sock_queue_rcv_skb(sock*, sk_buff*)
       function void __sock_recv_timestamp(msghdr*, sock*, sk_buff*)
       function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
       function void __sock_recv_wifi_status(msghdr*, sock*, sk_buff*)
       function int __tcf_em_tree_match(sk_buff*, tcf_ematch_tree*, tcf_pkt_info*)
       function int __tcf_idr_release(tc_action*, bool, bool)
       function void __tcp_send_ack(sock*, u32)
       function sock* __udp4_lib_lookup(net*, __be32, __be16, __be32, __be16, int, int, udp_table*, sk_buff*)
       function sock* __udp6_lib_lookup(net*, const in6_addr*, __be16, const in6_addr*, __be16, int, int, udp_table*, sk_buff*)
       function int __udp_disconnect(sock*, int)
       function int __udp_enqueue_schedule_skb(sock*, sk_buff*)
       function int __vsock_core_init(const vsock_transport*, module*)
       function sock* __vsock_create(net*, socket*, sock*, gfp_t, unsigned short int, int)
       function dst_entry* __xfrm_dst_lookup(net*, int, int, const xfrm_address_t*, const xfrm_address_t*, int, u32)
       function int __xfrm_init_state(xfrm_state*, bool, bool)
       function int __xfrm_policy_check(sock*, int, sk_buff*, unsigned short int)
       function int __xfrm_state_delete(xfrm_state*)
       function void __xfrm_state_destroy(xfrm_state*, bool)
       function int __zerocopy_sg_from_iter(sock*, sk_buff*, iov_iter*, size_t)
       function void addrconf_add_linklocal(inet6_dev*, const in6_addr*, u32)
       function int addrconf_prefix_rcv_add_addr(net*, net_device*, const prefix_info*, inet6_dev*, const in6_addr*, int, u32, bool, bool, __u32, u32)
       function sk_buff* alloc_can_err_skb(net_device*, can_frame**)
       function sk_buff* alloc_can_skb(net_device*, can_frame**)
       function net_device* alloc_candev_mqs(int, unsigned int, unsigned int, unsigned int)
       function sk_buff* alloc_canfd_skb(net_device*, canfd_frame**)
       function net_device* alloc_etherdev_mqs(int, unsigned int, unsigned int)
       function net_device* alloc_netdev_mqs(int, const char*, unsigned char, void ()*, unsigned int, unsigned int)
       function bool arch_bpf_jit_check_func(const bpf_prog*)
       function sk_buff* arp_create(int, int, __be32, net_device*, __be32, const unsigned char*, const unsigned char*, const unsigned char*)
       function void arp_send(int, int, __be32, net_device*, __be32, const unsigned char*, const unsigned char*, const unsigned char*)
       function unsigned int arpt_do_table(sk_buff*, const nf_hook_state*, xt_table*)
       function int arpt_register_table(net*, const xt_table*, const arpt_replace*, const nf_hook_ops*, xt_table**)
       function void arpt_unregister_table(net*, xt_table*, const nf_hook_ops*)
       function bpf_offload_dev* bpf_offload_dev_create(const bpf_prog_offload_ops*, void*)
       function bool bpf_offload_dev_match(bpf_prog*, net_device*)
       function int bpf_offload_dev_netdev_register(bpf_offload_dev*, net_device*)
       function void bpf_offload_dev_netdev_unregister(bpf_offload_dev*, net_device*)
       function bpf_prog* bpf_prog_add(bpf_prog*, int)
       function bpf_prog* bpf_prog_alloc(unsigned int, gfp_t)
       function int bpf_prog_create(bpf_prog**, sock_fprog_kern*)
       function int bpf_prog_create_from_user(bpf_prog**, sock_fprog*, bpf_aux_classic_check_t, bool)
       function void bpf_prog_destroy(bpf_prog*)
       function void bpf_prog_free(bpf_prog*)
       function bpf_prog* bpf_prog_get_type_dev(u32, bpf_prog_type, bool)
       function bpf_prog* bpf_prog_get_type_path(const char*, bpf_prog_type)
       function bpf_prog* bpf_prog_inc(bpf_prog*)
       function bpf_prog* bpf_prog_inc_not_zero(bpf_prog*)
       function void bpf_prog_put(bpf_prog*)
       function bpf_prog* bpf_prog_select_runtime(bpf_prog*, int*)
       function void bpf_prog_sub(bpf_prog*, int)
       function void bpf_trace_run1(bpf_prog*, u64)
       function void bpf_trace_run10(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run11(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run12(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run2(bpf_prog*, u64, u64)
       function void bpf_trace_run3(bpf_prog*, u64, u64, u64)
       function void bpf_trace_run4(bpf_prog*, u64, u64, u64, u64)
       function void bpf_trace_run5(bpf_prog*, u64, u64, u64, u64, u64)
       function void bpf_trace_run6(bpf_prog*, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run7(bpf_prog*, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run8(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_trace_run9(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64)
       function void bpf_verifier_log_write(bpf_verifier_env*, const char*, ...)
       function int br_dev_queue_push_xmit(net*, sock*, sk_buff*)
       function void br_fdb_clear_offload(const net_device*, u16)
       function net_device* br_fdb_find_port(const net_device*, const unsigned char*, __u16)
       function void br_forward(const net_bridge_port*, sk_buff*, bool, bool)
       function int br_forward_finish(net*, sock*, sk_buff*)
       function int br_handle_frame_finish(net*, sock*, sk_buff*)
       function int br_ip6_fragment(net*, sock*, sk_buff*, nf_bridge_frag_data*, void ()*)
       function bool br_multicast_enabled(const net_device*)
       function bool br_multicast_has_querier_adjacent(net_device*, int)
       function bool br_multicast_has_querier_anywhere(net_device*, int)
       function int br_multicast_list_adjacent(net_device*, list_head*)
       function bool br_multicast_router(const net_device*)
       function bool br_port_flag_is_set(const net_device*, unsigned long int)
       function void brioctl_set(void ()*)
       function sock* bt_accept_dequeue(sock*, socket*)
       function void bt_accept_enqueue(sock*, sock*, bool)
       function void bt_accept_unlink(sock*)
       function void bt_procfs_cleanup(net*, const char*)
       function int bt_procfs_init(net*, const char*, bt_sock_list*, void ()*)
       function int bt_sock_ioctl(socket*, unsigned int, unsigned long int)
       function void bt_sock_link(bt_sock_list*, sock*)
       function __poll_t bt_sock_poll(file*, socket*, poll_table*)
       function void bt_sock_reclassify_lock(sock*, int)
       function int bt_sock_recvmsg(socket*, msghdr*, size_t, int)
       function int bt_sock_register(int, const net_proto_family*)
       function int bt_sock_stream_recvmsg(socket*, msghdr*, size_t, int)
       function void bt_sock_unlink(bt_sock_list*, sock*)
       function int bt_sock_wait_ready(sock*, unsigned long int)
       function int bt_sock_wait_state(sock*, int, unsigned long int)
       function int call_fib_notifier(notifier_block*, net*, fib_event_type, fib_notifier_info*)
       function int call_fib_notifiers(net*, fib_event_type, fib_notifier_info*)
       function int call_netdevice_notifiers(unsigned long int, net_device*)
       function void can_bus_off(net_device*)
       function int can_change_mtu(net_device*, int)
       function void can_change_state(net_device*, can_frame*, can_state, can_state)
       function void can_free_echo_skb(net_device*, unsigned int)
       function unsigned int can_get_echo_skb(net_device*, unsigned int)
       function int can_proto_register(const can_proto*)
       function void can_proto_unregister(const can_proto*)
       function void can_put_echo_skb(sk_buff*, net_device*, unsigned int)
       function int can_rx_offload_add_fifo(net_device*, can_rx_offload*, unsigned int)
       function int can_rx_offload_add_timestamp(net_device*, can_rx_offload*)
       function void can_rx_offload_del(can_rx_offload*)
       function void can_rx_offload_enable(can_rx_offload*)
       function unsigned int can_rx_offload_get_echo_skb(can_rx_offload*, unsigned int, u32)
       function int can_rx_offload_irq_offload_fifo(can_rx_offload*)
       function int can_rx_offload_irq_offload_timestamp(can_rx_offload*, u64)
       function int can_rx_offload_queue_sorted(can_rx_offload*, sk_buff*, u32)
       function int can_rx_offload_queue_tail(can_rx_offload*, sk_buff*)
       function void can_rx_offload_reset(can_rx_offload*)
       function int can_rx_register(net*, net_device*, canid_t, canid_t, void ()*, void*, char*, sock*)
       function void can_rx_unregister(net*, net_device*, canid_t, canid_t, void ()*, void*)
       function void can_sock_destruct(sock*)
       function void cfg80211_abandon_assoc(net_device*, cfg80211_bss*)
       function void cfg80211_assoc_timeout(net_device*, cfg80211_bss*)
       function void cfg80211_auth_timeout(net_device*, const u8*)
       function void cfg80211_bss_iter(wiphy*, cfg80211_chan_def*, void ()*, void*)
       function void cfg80211_cac_event(net_device*, const cfg80211_chan_def*, nl80211_radar_event, gfp_t)
       function void cfg80211_ch_switch_notify(net_device*, cfg80211_chan_def*)
       function void cfg80211_ch_switch_started_notify(net_device*, cfg80211_chan_def*, u8)
       function int cfg80211_chandef_dfs_required(wiphy*, const cfg80211_chan_def*, nl80211_iftype)
       function bool cfg80211_chandef_usable(wiphy*, const cfg80211_chan_def*, u32)
       function int cfg80211_check_combinations(wiphy*, iface_combination_params*)
       function int cfg80211_check_station_change(wiphy*, station_parameters*, cfg80211_station_type)
       function void cfg80211_conn_failed(net_device*, const u8*, nl80211_connect_failed_reason, gfp_t)
       function void cfg80211_connect_done(net_device*, cfg80211_connect_resp_params*, gfp_t)
       function void cfg80211_cqm_beacon_loss_notify(net_device*, gfp_t)
       function void cfg80211_cqm_pktloss_notify(net_device*, const u8*, u32, gfp_t)
       function void cfg80211_cqm_rssi_notify(net_device*, nl80211_cqm_rssi_threshold_event, s32, gfp_t)
       function void cfg80211_cqm_txe_notify(net_device*, const u8*, u32, u32, u32, gfp_t)
       function void cfg80211_crit_proto_stopped(wireless_dev*, gfp_t)
       function void cfg80211_del_sta_sinfo(net_device*, const u8*, station_info*, gfp_t)
       function void cfg80211_disconnected(net_device*, u16, const u8*, size_t, bool, gfp_t)
       function int cfg80211_external_auth_request(net_device*, cfg80211_external_auth_params*, gfp_t)
       function void cfg80211_ft_event(net_device*, cfg80211_ft_event_params*)
       function cfg80211_bss* cfg80211_get_bss(wiphy*, ieee80211_channel*, const u8*, const u8*, size_t, ieee80211_bss_type, ieee80211_privacy)
       function void cfg80211_get_drvinfo(net_device*, ethtool_drvinfo*)
       function int cfg80211_get_station(net_device*, const u8*, station_info*)
       function void cfg80211_gtk_rekey_notify(net_device*, const u8*, const u8*, gfp_t)
       function void cfg80211_ibss_joined(net_device*, const u8*, ieee80211_channel*, gfp_t)
       function bool cfg80211_iftype_allowed(wiphy*, nl80211_iftype, bool, u8)
       function cfg80211_bss* cfg80211_inform_bss_data(wiphy*, cfg80211_inform_bss*, cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)
       function cfg80211_bss* cfg80211_inform_bss_frame_data(wiphy*, cfg80211_inform_bss*, ieee80211_mgmt*, size_t, gfp_t)
       function int cfg80211_iter_combinations(wiphy*, iface_combination_params*, void ()*, void*)
       function void cfg80211_mgmt_tx_status(wireless_dev*, u64, const u8*, size_t, bool, gfp_t)
       function void cfg80211_michael_mic_failure(net_device*, const u8*, nl80211_key_type, int, const u8*, gfp_t)
       function void cfg80211_nan_func_terminated(wireless_dev*, u8, nl80211_nan_func_term_reason, u64, gfp_t)
       function void cfg80211_nan_match(wireless_dev*, cfg80211_nan_match_params*, gfp_t)
       function void cfg80211_new_sta(net_device*, const u8*, station_info*, gfp_t)
       function void cfg80211_notify_new_peer_candidate(net_device*, const u8*, const u8*, u8, int, gfp_t)
       function void cfg80211_pmksa_candidate_notify(net_device*, int, const u8*, bool, gfp_t)
       function void cfg80211_pmsr_complete(wireless_dev*, cfg80211_pmsr_request*, gfp_t)
       function void cfg80211_pmsr_report(wireless_dev*, cfg80211_pmsr_request*, cfg80211_pmsr_result*, gfp_t)
       function void cfg80211_port_authorized(net_device*, const u8*, gfp_t)
       function void cfg80211_probe_status(net_device*, const u8*, u64, bool, s32, bool, gfp_t)
       function void cfg80211_put_bss(wiphy*, cfg80211_bss*)
       function void cfg80211_radar_event(wiphy*, cfg80211_chan_def*, gfp_t)
       function void cfg80211_ready_on_channel(wireless_dev*, u64, ieee80211_channel*, unsigned int, gfp_t)
       function void cfg80211_ref_bss(wiphy*, cfg80211_bss*)
       function bool cfg80211_reg_can_beacon(wiphy*, cfg80211_chan_def*, nl80211_iftype)
       function bool cfg80211_reg_can_beacon_relax(wiphy*, cfg80211_chan_def*, nl80211_iftype)
       function void cfg80211_remain_on_channel_expired(wireless_dev*, u64, ieee80211_channel*, gfp_t)
       function void cfg80211_report_obss_beacon(wiphy*, const u8*, size_t, int, int)
       function void cfg80211_report_wowlan_wakeup(wireless_dev*, cfg80211_wowlan_wakeup*, gfp_t)
       function void cfg80211_roamed(net_device*, cfg80211_roam_info*, gfp_t)
       function void cfg80211_rx_assoc_resp(net_device*, cfg80211_bss*, const u8*, size_t, int, const u8*, size_t)
       function bool cfg80211_rx_control_port(net_device*, sk_buff*, bool)
       function bool cfg80211_rx_mgmt(wireless_dev*, int, int, const u8*, size_t, u32)
       function void cfg80211_rx_mlme_mgmt(net_device*, const u8*, size_t)
       function bool cfg80211_rx_spurious_frame(net_device*, const u8*, gfp_t)
       function bool cfg80211_rx_unexpected_4addr_frame(net_device*, const u8*, gfp_t)
       function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)
       function void cfg80211_scan_done(cfg80211_scan_request*, cfg80211_scan_info*)
       function void cfg80211_sched_scan_results(wiphy*, u64)
       function void cfg80211_sched_scan_stopped(wiphy*, u64)
       function void cfg80211_sched_scan_stopped_rtnl(wiphy*, u64)
       function void cfg80211_send_layer2_update(net_device*, const u8*)
       function void cfg80211_shutdown_all_interfaces(wiphy*)
       function void cfg80211_sta_opmode_change_notify(net_device*, const u8*, sta_opmode_info*, gfp_t)
       function void cfg80211_stop_iface(wiphy*, wireless_dev*, gfp_t)
       function void cfg80211_tdls_oper_request(net_device*, const u8*, nl80211_tdls_operation, u16, gfp_t)
       function void cfg80211_tx_mgmt_expired(wireless_dev*, u64, ieee80211_channel*, gfp_t)
       function void cfg80211_tx_mlme_mgmt(net_device*, const u8*, size_t)
       function void cfg80211_unlink_bss(wiphy*, cfg80211_bss*)
       function void cfg80211_unregister_wdev(wireless_dev*)
       function void cfg80211_update_owe_info_event(net_device*, cfg80211_update_owe_info*, gfp_t)
       function unsigned int cfg80211_vendor_cmd_get_sender(wiphy*)
       function void close_candev(net_device*)
       function int compat_ip_getsockopt(sock*, int, int, char*, int*)
       function int compat_ip_setsockopt(sock*, int, int, char*, unsigned int)
       function int compat_ipv6_getsockopt(sock*, int, int, char*, int*)
       function int compat_ipv6_setsockopt(sock*, int, int, char*, unsigned int)
       function int compat_mc_getsockopt(sock*, int, int, char*, int*, void ()*)
       function int compat_mc_setsockopt(sock*, int, int, char*, unsigned int, void ()*)
       function int compat_nf_getsockopt(sock*, u_int8_t, int, char*, int*)
       function int compat_nf_setsockopt(sock*, u_int8_t, int, char*, unsigned int)
       function int compat_sock_common_getsockopt(socket*, int, int, char*, int*)
       function int compat_sock_common_setsockopt(socket*, int, int, char*, unsigned int)
       function int compat_tcp_getsockopt(sock*, int, int, char*, int*)
       function int compat_tcp_setsockopt(sock*, int, int, char*, unsigned int)
       function __poll_t datagram_poll(file*, socket*, poll_table*)
       function void dev_activate(net_device*)
       function void dev_add_pack(packet_type*)
       function int dev_addr_add(net_device*, const unsigned char*, unsigned char)
       function int dev_addr_del(net_device*, const unsigned char*, unsigned char)
       function void dev_addr_flush(net_device*)
       function int dev_addr_init(net_device*)
       function int dev_alloc_name(net_device*, const char*)
       function int dev_change_carrier(net_device*, bool)
       function int dev_change_flags(net_device*, unsigned int, netlink_ext_ack*)
       function int dev_change_net_namespace(net_device*, net*, const char*)
       function int dev_change_proto_down(net_device*, bool)
       function int dev_change_proto_down_generic(net_device*, bool)
       function void dev_close(net_device*)
       function void dev_deactivate(net_device*)
       function void dev_disable_lro(net_device*)
       function int dev_fill_metadata_dst(net_device*, sk_buff*)
       function int dev_forward_skb(net_device*, sk_buff*)
       function net_device* dev_get_by_index(net*, int)
       function net_device* dev_get_by_index_rcu(net*, int)
       function net_device* dev_get_by_name(net*, const char*)
       function net_device* dev_get_by_name_rcu(net*, const char*)
       function net_device* dev_get_by_napi_id(unsigned int)
       function unsigned int dev_get_flags(const net_device*)
       function int dev_get_iflink(const net_device*)
       function int dev_get_phys_port_id(net_device*, netdev_phys_item_id*)
       function int dev_get_phys_port_name(net_device*, char*, size_t)
       function int dev_get_port_parent_id(net_device*, netdev_phys_item_id*, bool)
       function rtnl_link_stats64* dev_get_stats(net_device*, rtnl_link_stats64*)
       function int dev_get_valid_name(net*, net_device*, const char*)
       function net_device* dev_getbyhwaddr_rcu(net*, unsigned short int, const char*)
       function net_device* dev_getfirstbyhwtype(net*, unsigned short int)
       function Qdisc* dev_graft_qdisc(netdev_queue*, Qdisc*)
       function void dev_load(net*, const char*)
       function int dev_loopback_xmit(net*, sock*, sk_buff*)
       function int dev_mc_add(net_device*, const unsigned char*)
       function int dev_mc_add_excl(net_device*, const unsigned char*)
       function int dev_mc_add_global(net_device*, const unsigned char*)
       function int dev_mc_del(net_device*, const unsigned char*)
       function int dev_mc_del_global(net_device*, const unsigned char*)
       function void dev_mc_flush(net_device*)
       function void dev_mc_init(net_device*)
       function int dev_mc_sync(net_device*, net_device*)
       function int dev_mc_sync_multiple(net_device*, net_device*)
       function void dev_mc_unsync(net_device*, net_device*)
       function bool dev_nit_active(net_device*)
       function int dev_open(net_device*, netlink_ext_ack*)
       function u16 dev_pick_tx_cpu_id(net_device*, sk_buff*, net_device*)
       function u16 dev_pick_tx_zero(net_device*, sk_buff*, net_device*)
       function int dev_pre_changeaddr_notify(net_device*, const char*, netlink_ext_ack*)
       function int dev_queue_xmit_accel(sk_buff*, net_device*)
       function void dev_queue_xmit_nit(sk_buff*, net_device*)
       function void dev_remove_pack(packet_type*)
       function int dev_set_alias(net_device*, const char*, size_t)
       function int dev_set_allmulti(net_device*, int)
       function void dev_set_group(net_device*, int)
       function int dev_set_mac_address(net_device*, sockaddr*, netlink_ext_ack*)
       function int dev_set_mtu(net_device*, int)
       function int dev_set_promiscuity(net_device*, int)
       function unsigned long int dev_trans_start(net_device*)
       function int dev_uc_add(net_device*, const unsigned char*)
       function int dev_uc_add_excl(net_device*, const unsigned char*)
       function int dev_uc_del(net_device*, const unsigned char*)
       function void dev_uc_flush(net_device*)
       function void dev_uc_init(net_device*)
       function int dev_uc_sync(net_device*, net_device*)
       function int dev_uc_sync_multiple(net_device*, net_device*)
       function void dev_uc_unsync(net_device*, net_device*)
       function net_device* devm_alloc_etherdev_mqs(device*, int, unsigned int, unsigned int)
       function ssize_t do_tcp_sendpages(sock*, page*, int, size_t, int)
       function int do_xdp_generic(bpf_prog*, sk_buff*)
       function void* dst_alloc(dst_ops*, net_device*, int, int, unsigned short int)
       function dst_entry* dst_cache_get(dst_cache*)
       function rtable* dst_cache_get_ip4(dst_cache*, __be32*)
       function dst_entry* dst_cache_get_ip6(dst_cache*, in6_addr*)
       function void dst_cache_set_ip4(dst_cache*, dst_entry*, __be32)
       function void dst_cache_set_ip6(dst_cache*, dst_entry*, const in6_addr*)
       function u32* dst_cow_metrics_generic(dst_entry*, unsigned long int)
       function dst_entry* dst_destroy(dst_entry*)
       function void dst_dev_put(dst_entry*)
       function int dst_discard_out(net*, sock*, sk_buff*)
       function void dst_init(dst_entry*, dst_ops*, net_device*, int, int, unsigned short int)
       function void dst_release(dst_entry*)
       function void dst_release_immediate(dst_entry*)
       function int esp6_output_head(xfrm_state*, sk_buff*, esp_info*)
       function int esp6_output_tail(xfrm_state*, sk_buff*, esp_info*)
       function int esp_output_head(xfrm_state*, sk_buff*, esp_info*)
       function int esp_output_tail(xfrm_state*, sk_buff*, esp_info*)
       function int eth_change_mtu(net_device*, int)
       function void eth_commit_mac_addr_change(net_device*, void*)
       function u32 eth_get_headlen(const net_device*, void*, unsigned int)
       function int eth_header(sk_buff*, net_device*, unsigned short int, void*, void*, unsigned int)
       function int eth_header_cache(const neighbour*, hh_cache*, __be16)
       function void eth_header_cache_update(hh_cache*, const net_device*, const unsigned char*)
       function int eth_mac_addr(net_device*, void*)
       function int eth_prepare_mac_addr_change(net_device*, void*)
       function __be16 eth_type_trans(sk_buff*, net_device*)
       function int eth_validate_addr(net_device*)
       function void ether_setup(net_device*)
       function u32 ethtool_op_get_link(net_device*)
       function int ethtool_op_get_ts_info(net_device*, ethtool_ts_info*)
       function ethtool_rx_flow_rule* ethtool_rx_flow_rule_create(const ethtool_rx_flow_spec_input*)
       function void ethtool_rx_flow_rule_destroy(ethtool_rx_flow_rule*)
       function failover* failover_register(net_device*, failover_ops*)
       function int failover_slave_unregister(net_device*)
       function void failover_unregister(failover*)
       function bool fib4_rule_default(const fib_rule*)
       function int fib6_check_nexthop(nexthop*, fib6_config*, netlink_ext_ack*)
       function fib6_table* fib6_get_table(net*, u32)
       function fib6_table* fib6_new_table(net*, u32)
       function bool fib6_rule_default(const fib_rule*)
       function int fib_add_nexthop(sk_buff*, const fib_nh_common*, int, u8)
       function int fib_default_rule_add(fib_rules_ops*, u32, u32, u32)
       function bool fib_info_nh_uses_dev(fib_info*, const net_device*)
       function fib_table* fib_new_table(net*, u32)
       function int fib_nexthop_info(sk_buff*, const fib_nh_common*, u8, unsigned char*, bool)
       function int fib_nh_common_init(fib_nh_common*, nlattr*, u16, void*, gfp_t, netlink_ext_ack*)
       function void fib_nh_common_release(fib_nh_common*)
       function fib_notifier_ops* fib_notifier_ops_register(const fib_notifier_ops*, net*)
       function void fib_notifier_ops_unregister(fib_notifier_ops*)
       function bool fib_rule_matchall(const fib_rule*)
       function int fib_rules_dump(net*, notifier_block*, int)
       function int fib_rules_lookup(fib_rules_ops*, flowi*, int, fib_lookup_arg*)
       function fib_rules_ops* fib_rules_register(const fib_rules_ops*, net*)
       function unsigned int fib_rules_seq_read(net*, int)
       function void fib_rules_unregister(fib_rules_ops*)
       function int fib_table_lookup(fib_table*, const flowi4*, fib_result*, int)
       function Qdisc* fifo_create_dflt(Qdisc*, Qdisc_ops*, unsigned int, netlink_ext_ack*)
       function int fifo_set_limit(Qdisc*, unsigned int)
       function int fixed_phy_change_carrier(net_device*, bool)
       function phy_device* fixed_phy_register(unsigned int, fixed_phy_status*, device_node*)
       function phy_device* fixed_phy_register_with_gpiod(unsigned int, fixed_phy_status*, gpio_desc*)
       function int fixed_phy_set_link_update(phy_device*, void ()*)
       function void fixed_phy_unregister(phy_device*)
       function ipv6_txoptions* fl6_merge_options(ipv6_txoptions*, ip6_flowlabel*, ipv6_txoptions*)
       function int flow_block_cb_setup_simple(flow_block_offload*, list_head*, flow_setup_cb_t*, void*, void*, bool)
       function void flow_indr_block_call(net_device*, flow_block_offload*, flow_block_command)
       function flow_rule* flow_rule_alloc(unsigned int)
       function void flow_rule_match_basic(const flow_rule*, flow_match_basic*)
       function void flow_rule_match_control(const flow_rule*, flow_match_control*)
       function void flow_rule_match_cvlan(const flow_rule*, flow_match_vlan*)
       function void flow_rule_match_enc_control(const flow_rule*, flow_match_control*)
       function void flow_rule_match_enc_ip(const flow_rule*, flow_match_ip*)
       function void flow_rule_match_enc_ipv4_addrs(const flow_rule*, flow_match_ipv4_addrs*)
       function void flow_rule_match_enc_ipv6_addrs(const flow_rule*, flow_match_ipv6_addrs*)
       function void flow_rule_match_enc_keyid(const flow_rule*, flow_match_enc_keyid*)
       function void flow_rule_match_enc_opts(const flow_rule*, flow_match_enc_opts*)
       function void flow_rule_match_enc_ports(const flow_rule*, flow_match_ports*)
       function void flow_rule_match_eth_addrs(const flow_rule*, flow_match_eth_addrs*)
       function void flow_rule_match_icmp(const flow_rule*, flow_match_icmp*)
       function void flow_rule_match_ip(const flow_rule*, flow_match_ip*)
       function void flow_rule_match_ipv4_addrs(const flow_rule*, flow_match_ipv4_addrs*)
       function void flow_rule_match_ipv6_addrs(const flow_rule*, flow_match_ipv6_addrs*)
       function void flow_rule_match_meta(const flow_rule*, flow_match_meta*)
       function void flow_rule_match_mpls(const flow_rule*, flow_match_mpls*)
       function void flow_rule_match_ports(const flow_rule*, flow_match_ports*)
       function void flow_rule_match_tcp(const flow_rule*, flow_match_tcp*)
       function void flow_rule_match_vlan(const flow_rule*, flow_match_vlan*)
       function void fqdir_exit(fqdir*)
       function int fqdir_init(fqdir**, inet_frags*, net*)
       function void free_candev(net_device*)
       function void free_fib_info(fib_info*)
       function void free_netdev(net_device*)
       function const ieee80211_reg_rule* freq_reg_info(wiphy*, u32)
       function int gen10g_config_aneg(phy_device*)
       function int generic_mii_ioctl(mii_if_info*, mii_ioctl_data*, int, unsigned int*)
       function void generic_xdp_tx(sk_buff*, bpf_prog*)
       function nlattr** genl_family_attrbuf(const genl_family*)
       function void genl_notify(const genl_family*, sk_buff*, genl_info*, u32, gfp_t)
       function int genl_register_family(genl_family*)
       function int genl_unregister_family(const genl_family*)
       function int genlmsg_multicast_allns(const genl_family*, sk_buff*, u32, unsigned int, gfp_t)
       function void* genlmsg_put(sk_buff*, u32, u32, const genl_family*, int, u8)
       function int genphy_c45_an_config_aneg(phy_device*)
       function int genphy_c45_an_disable_aneg(phy_device*)
       function int genphy_c45_aneg_done(phy_device*)
       function int genphy_c45_check_and_restart_aneg(phy_device*, bool)
       function int genphy_c45_config_aneg(phy_device*)
       function int genphy_c45_pma_read_abilities(phy_device*)
       function int genphy_c45_pma_setup_forced(phy_device*)
       function int genphy_c45_read_link(phy_device*)
       function int genphy_c45_read_lpa(phy_device*)
       function int genphy_c45_read_mdix(phy_device*)
       function int genphy_c45_read_pma(phy_device*)
       function int genphy_c45_read_status(phy_device*)
       function int genphy_c45_restart_aneg(phy_device*)
       function net* get_net_ns_by_fd(int)
       function net* get_net_ns_by_pid(pid_t)
       function void gro_cells_destroy(gro_cells*)
       function int gro_cells_init(gro_cells*, net_device*)
       function int gro_cells_receive(gro_cells*, sk_buff*)
       function int hci_mgmt_chan_register(hci_mgmt_chan*)
       function void hci_mgmt_chan_unregister(hci_mgmt_chan*)
       function ieee80211_hw* ieee80211_alloc_hw_nm(size_t, const ieee80211_ops*, const char*)
       function sk_buff* ieee80211_ap_probereq_get(ieee80211_hw*, ieee80211_vif*)
       function sk_buff* ieee80211_beacon_get_template(ieee80211_hw*, ieee80211_vif*, ieee80211_mutable_offsets*)
       function sk_buff* ieee80211_beacon_get_tim(ieee80211_hw*, ieee80211_vif*, u16*, u16*)
       function __le16 ieee80211_ctstoself_duration(ieee80211_hw*, ieee80211_vif*, size_t, const ieee80211_tx_info*)
       function void ieee80211_ctstoself_get(ieee80211_hw*, ieee80211_vif*, void*, size_t, const ieee80211_tx_info*, ieee80211_cts*)
       function ieee80211_sta* ieee80211_find_sta_by_ifaddr(ieee80211_hw*, const u8*, const u8*)
       function void ieee80211_free_hw(ieee80211_hw*)
       function void ieee80211_free_txskb(ieee80211_hw*, sk_buff*)
       function __le16 ieee80211_generic_frame_duration(ieee80211_hw*, ieee80211_vif*, nl80211_band, size_t, ieee80211_rate*)
       function sk_buff* ieee80211_get_buffered_bc(ieee80211_hw*, ieee80211_vif*)
       function ieee80211_channel* ieee80211_get_channel(wiphy*, int)
       function unsigned int ieee80211_get_num_supported_channels(wiphy*)
       function void ieee80211_iter_chan_contexts_atomic(ieee80211_hw*, void ()*, void*)
       function void ieee80211_iter_keys(ieee80211_hw*, ieee80211_vif*, void ()*, void*)
       function void ieee80211_iter_keys_rcu(ieee80211_hw*, ieee80211_vif*, void ()*, void*)
       function void ieee80211_iterate_active_interfaces_atomic(ieee80211_hw*, u32, void ()*, void*)
       function void ieee80211_iterate_active_interfaces_rtnl(ieee80211_hw*, u32, void ()*, void*)
       function void ieee80211_iterate_interfaces(ieee80211_hw*, u32, void ()*, void*)
       function void ieee80211_iterate_stations_atomic(ieee80211_hw*, void ()*, void*)
       function ieee80211_txq* ieee80211_next_txq(ieee80211_hw*, u8)
       function sk_buff* ieee80211_nullfunc_get(ieee80211_hw*, ieee80211_vif*, bool)
       function sk_buff* ieee80211_probereq_get(ieee80211_hw*, const u8*, const u8*, size_t, size_t)
       function sk_buff* ieee80211_proberesp_get(ieee80211_hw*, ieee80211_vif*)
       function sk_buff* ieee80211_pspoll_get(ieee80211_hw*, ieee80211_vif*)
       function void ieee80211_queue_delayed_work(ieee80211_hw*, delayed_work*, unsigned long int)
       function int ieee80211_queue_stopped(ieee80211_hw*, int)
       function void ieee80211_queue_work(ieee80211_hw*, work_struct*)
       function void ieee80211_radar_detected(ieee80211_hw*)
       function int ieee80211_rate_control_register(const rate_control_ops*)
       function void ieee80211_rate_control_unregister(const rate_control_ops*)
       function void ieee80211_ready_on_channel(ieee80211_hw*)
       function int ieee80211_register_hw(ieee80211_hw*)
       function void ieee80211_remain_on_channel_expired(ieee80211_hw*)
       function void ieee80211_restart_hw(ieee80211_hw*)
       function __le16 ieee80211_rts_duration(ieee80211_hw*, ieee80211_vif*, size_t, const ieee80211_tx_info*)
       function void ieee80211_rts_get(ieee80211_hw*, ieee80211_vif*, void*, size_t, const ieee80211_tx_info*, ieee80211_rts*)
       function void ieee80211_rx_irqsafe(ieee80211_hw*, sk_buff*)
       function void ieee80211_rx_napi(ieee80211_hw*, ieee80211_sta*, sk_buff*, napi_struct*)
       function void ieee80211_scan_completed(ieee80211_hw*, cfg80211_scan_info*)
       function void ieee80211_sched_scan_results(ieee80211_hw*)
       function void ieee80211_sched_scan_stopped(ieee80211_hw*)
       function void ieee80211_sta_block_awake(ieee80211_hw*, ieee80211_sta*, bool)
       function void ieee80211_stop_queue(ieee80211_hw*, int)
       function void ieee80211_stop_queues(ieee80211_hw*)
       function sk_buff* ieee80211_tx_dequeue(ieee80211_hw*, ieee80211_txq*)
       function bool ieee80211_tx_prepare_skb(ieee80211_hw*, ieee80211_vif*, sk_buff*, int, ieee80211_sta**)
       function void ieee80211_tx_rate_update(ieee80211_hw*, ieee80211_sta*, ieee80211_tx_info*)
       function void ieee80211_tx_status(ieee80211_hw*, sk_buff*)
       function void ieee80211_tx_status_ext(ieee80211_hw*, ieee80211_tx_status*)
       function void ieee80211_tx_status_irqsafe(ieee80211_hw*, sk_buff*)
       function bool ieee80211_txq_may_transmit(ieee80211_hw*, ieee80211_txq*)
       function void ieee80211_txq_schedule_start(ieee80211_hw*, u8)
       function void ieee80211_unregister_hw(ieee80211_hw*)
       function wireless_dev* ieee80211_vif_to_wdev(ieee80211_vif*)
       function void ieee80211_wake_queue(ieee80211_hw*, int)
       function void ieee80211_wake_queues(ieee80211_hw*)
       function void in_dev_finish_destroy(in_device*)
       function int inet6_bind(socket*, sockaddr*, int)
       function void inet6_csk_addr2sockaddr(sock*, sockaddr*)
       function dst_entry* inet6_csk_route_req(const sock*, flowi6*, const request_sock*, u8)
       function dst_entry* inet6_csk_update_pmtu(sock*, u32)
       function int inet6_csk_xmit(sock*, sk_buff*, flowi*)
       function void inet6_destroy_sock(sock*)
       function int inet6_getname(socket*, sockaddr*, int)
       function int inet6_hash(sock*)
       function int inet6_hash_connect(inet_timewait_death_row*, sock*)
       function int inet6_ioctl(socket*, unsigned int, unsigned long int)
       function sock* inet6_lookup(net*, inet_hashinfo*, sk_buff*, int, const in6_addr*, const __be16, const in6_addr*, const __be16, const int)
       function sock* inet6_lookup_listener(net*, inet_hashinfo*, sk_buff*, int, const in6_addr*, const __be16, const in6_addr*, const unsigned short int, const int, const int)
       function int inet6_register_protosw(inet_protosw*)
       function int inet6_release(socket*)
       function int inet6_sk_rebuild_header(sock*)
       function void inet6_unregister_protosw(inet_protosw*)
       function int inet_accept(socket*, socket*, int, bool)
       function unsigned int inet_addr_type(net*, __be32)
       function unsigned int inet_addr_type_dev_table(net*, const net_device*, __be32)
       function unsigned int inet_addr_type_table(net*, __be32, u32)
       function int inet_bind(socket*, sockaddr*, int)
       function __be32 inet_confirm_addr(net*, in_device*, __be32, __be32, int)
       function sock* inet_csk_accept(sock*, int, int*, bool)
       function void inet_csk_addr2sockaddr(sock*, sockaddr*)
       function void inet_csk_clear_xmit_timers(sock*)
       function sock* inet_csk_clone_lock(const sock*, const request_sock*, const gfp_t)
       function int inet_csk_compat_getsockopt(sock*, int, int, char*, int*)
       function int inet_csk_compat_setsockopt(sock*, int, int, char*, unsigned int)
       function sock* inet_csk_complete_hashdance(sock*, sock*, request_sock*, bool)
       function void inet_csk_delete_keepalive_timer(sock*)
       function void inet_csk_destroy_sock(sock*)
       function int inet_csk_get_port(sock*, unsigned short int)
       function void inet_csk_init_xmit_timers(sock*, void ()*, void ()*, void ()*)
       function int inet_csk_listen_start(sock*, int)
       function void inet_csk_listen_stop(sock*)
       function void inet_csk_prepare_forced_close(sock*)
       function sock* inet_csk_reqsk_queue_add(sock*, request_sock*, sock*)
       function void inet_csk_reqsk_queue_drop(sock*, request_sock*)
       function void inet_csk_reqsk_queue_drop_and_put(sock*, request_sock*)
       function void inet_csk_reqsk_queue_hash_add(sock*, request_sock*, unsigned long int)
       function void inet_csk_reset_keepalive_timer(sock*, unsigned long int)
       function dst_entry* inet_csk_route_child_sock(const sock*, sock*, const request_sock*)
       function dst_entry* inet_csk_route_req(const sock*, flowi4*, const request_sock*)
       function dst_entry* inet_csk_update_pmtu(sock*, u32)
       function int inet_ctl_sock_create(sock**, unsigned short int, unsigned short int, unsigned char, net*)
       function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)
       function int inet_dgram_connect(socket*, sockaddr*, int, int)
       function int inet_diag_bc_sk(const nlattr*, sock*)
       function sock* inet_diag_find_one_icsk(net*, inet_hashinfo*, const inet_diag_req_v2*)
       function int inet_diag_msg_attrs_fill(sock*, sk_buff*, inet_diag_msg*, int, user_namespace*, bool)
       function void inet_diag_msg_common_fill(inet_diag_msg*, sock*)
       function int inet_diag_register(const inet_diag_handler*)
       function void inet_diag_unregister(const inet_diag_handler*)
       function bool inet_ehash_nolisten(sock*, sock*)
       function inet_frag_queue* inet_frag_find(fqdir*, void*)
       function void inet_get_local_port_range(net*, int*, int*)
       function int inet_getname(socket*, sockaddr*, int)
       function int inet_hash(sock*)
       function int inet_hash_connect(inet_timewait_death_row*, sock*)
       function int inet_ioctl(socket*, unsigned int, unsigned long int)
       function int inet_listen(socket*, int)
       function int inet_pton_with_scope(net*, __kernel_sa_family_t, const char*, const char*, __kernel_sockaddr_storage*)
       function void inet_put_port(sock*)
       function bool inet_rcv_saddr_equal(const sock*, const sock*, bool)
       function int inet_recvmsg(socket*, msghdr*, size_t, int)
       function void inet_register_protosw(inet_protosw*)
       function int inet_release(socket*)
       function request_sock* inet_reqsk_alloc(const request_sock_ops*, sock*, bool)
       function int inet_rtx_syn_ack(const sock*, request_sock*)
       function __be32 inet_select_addr(const net_device*, __be32, int)
       function int inet_send_prepare(sock*)
       function int inet_sendmsg(socket*, msghdr*, size_t)
       function ssize_t inet_sendpage(socket*, page*, int, size_t, int)
       function int inet_shutdown(socket*, int)
       function int inet_sk_diag_fill(sock*, inet_connection_sock*, sk_buff*, const inet_diag_req_v2*, user_namespace*, u32, u32, u16, const nlmsghdr*, bool)
       function int inet_sk_rebuild_header(sock*)
       function void inet_sk_rx_dst_set(sock*, const sk_buff*)
       function void inet_sk_set_state(sock*, int)
       function void inet_sock_destruct(sock*)
       function int inet_stream_connect(socket*, sockaddr*, int, int)
       function inet_timewait_sock* inet_twsk_alloc(const sock*, inet_timewait_death_row*, const int)
       function void inet_twsk_hashdance(inet_timewait_sock*, sock*, inet_hashinfo*)
       function void inet_unhash(sock*)
       function void inet_unregister_protosw(inet_protosw*)
       function in_device* inetdev_by_index(net*, int)
       function int init_dummy_netdev(net_device*)
       function sock* io_uring_get_socket(file*)
       function int ip4_datagram_connect(sock*, sockaddr*, int)
       function void ip4_datagram_release_cb(sock*)
       function int ip6_append_data(sock*, void ()*, void*, int, int, ipcm6_cookie*, flowi6*, rt6_info*, unsigned int)
       function int ip6_datagram_connect(sock*, sockaddr*, int)
       function int ip6_datagram_connect_v6_only(sock*, sockaddr*, int)
       function void ip6_datagram_recv_ctl(sock*, msghdr*, sk_buff*)
       function void ip6_datagram_release_cb(sock*)
       function int ip6_datagram_send_ctl(net*, sock*, msghdr*, flowi6*, ipcm6_cookie*)
       function rt6_info* ip6_dst_alloc(net*, net_device*, int)
       function int ip6_dst_hoplimit(dst_entry*)
       function int ip6_dst_lookup(net*, sock*, dst_entry**, flowi6*)
       function dst_entry* ip6_dst_lookup_flow(const sock*, flowi6*, const in6_addr*)
       function void ip6_flush_pending_frames(sock*)
       function int ip6_local_out(net*, sock*, sk_buff*)
       function rt6_info* ip6_pol_route(net*, fib6_table*, int, flowi6*, const sk_buff*, int)
       function int ip6_push_pending_frames(sock*)
       function void ip6_redirect(sk_buff*, net*, int, u32, kuid_t)
       function dst_entry* ip6_route_input_lookup(net*, net_device*, flowi6*, const sk_buff*, int)
       function dst_entry* ip6_route_lookup(net*, flowi6*, const sk_buff*, int)
       function int ip6_route_me_harder(net*, sk_buff*)
       function dst_entry* ip6_route_output_flags(net*, const sock*, flowi6*, int)
       function dst_entry* ip6_route_output_flags_noref(net*, const sock*, flowi6*, int)
       function dst_entry* ip6_sk_dst_lookup_flow(sock*, flowi6*, const in6_addr*, bool)
       function void ip6_sk_redirect(sk_buff*, sock*)
       function void ip6_sk_update_pmtu(sk_buff*, sock*, __be32)
       function int ip6_tnl_change_mtu(net_device*, int)
       function int ip6_tnl_get_iflink(const net_device*)
       function net* ip6_tnl_get_link_net(const net_device*)
       function int ip6_tnl_rcv(ip6_tnl*, sk_buff*, const tnl_ptk_info*, metadata_dst*, bool)
       function int ip6_tnl_xmit(sk_buff*, net_device*, __u8, flowi6*, int, __u32*, __u8)
       function void ip6_update_pmtu(sk_buff*, net*, __be32, int, u32, kuid_t)
       function int ip6_xmit(const sock*, sk_buff*, flowi6*, __u32, ipv6_txoptions*, int, u32)
       function unsigned int ip6t_do_table(sk_buff*, const nf_hook_state*, xt_table*)
       function int ip6t_register_table(net*, const xt_table*, const ip6t_replace*, const nf_hook_ops*, xt_table**)
       function void ip6t_unregister_table(net*, xt_table*, const nf_hook_ops*)
       function int ip_build_and_send_pkt(sk_buff*, const sock*, __be32, __be32, ip_options_rcu*)
       function sk_buff* ip_check_defrag(net*, sk_buff*, u32)
       function void ip_cmsg_recv_offset(msghdr*, sock*, sk_buff*, int, int)
       function int ip_defrag(net*, sk_buff*, u32)
       function int ip_do_fragment(net*, sock*, sk_buff*, void ()*)
       function dst_metrics* ip_fib_metrics_init(net*, nlattr*, int, netlink_ext_ack*)
       function int ip_getsockopt(sock*, int, int, char*, int*)
       function int ip_local_out(net*, sock*, sk_buff*)
       function void ip_mc_inc_group(in_device*, __be32)
       function int ip_mc_join_group(sock*, ip_mreqn*)
       function int ip_mc_leave_group(sock*, ip_mreqn*)
       function void ip_md_tunnel_xmit(sk_buff*, net_device*, u8, int)
       function int ip_options_compile(net*, ip_options*, sk_buff*)
       function int ip_options_rcv_srr(sk_buff*, net_device*)
       function int ip_route_input_noref(sk_buff*, __be32, __be32, u8, net_device*)
       function int ip_route_me_harder(net*, sk_buff*, unsigned int)
       function rtable* ip_route_output_flow(net*, flowi4*, const sock*)
       function rtable* ip_route_output_key_hash(net*, flowi4*, const sk_buff*)
       function int ip_setsockopt(sock*, int, int, char*, unsigned int)
       function int ip_tunnel_change_mtu(net_device*, int)
       function int ip_tunnel_changelink(net_device*, nlattr**, ip_tunnel_parm*, __u32)
       function void ip_tunnel_delete_nets(list_head*, unsigned int, rtnl_link_ops*)
       function void ip_tunnel_dellink(net_device*, list_head*)
       function int ip_tunnel_encap_setup(ip_tunnel*, ip_tunnel_encap*)
       function int ip_tunnel_get_iflink(const net_device*)
       function net* ip_tunnel_get_link_net(const net_device*)
       function void ip_tunnel_get_stats64(net_device*, rtnl_link_stats64*)
       function int ip_tunnel_init(net_device*)
       function int ip_tunnel_init_net(net*, unsigned int, rtnl_link_ops*, char*)
       function int ip_tunnel_ioctl(net_device*, ip_tunnel_parm*, int)
       function ip_tunnel* ip_tunnel_lookup(ip_tunnel_net*, int, __be16, __be32, __be32, __be32)
       function int ip_tunnel_newlink(net_device*, nlattr**, ip_tunnel_parm*, __u32)
       function int ip_tunnel_rcv(ip_tunnel*, sk_buff*, const tnl_ptk_info*, metadata_dst*, bool)
       function void ip_tunnel_setup(net_device*, unsigned int)
       function void ip_tunnel_uninit(net_device*)
       function void ip_tunnel_xmit(sk_buff*, net_device*, const iphdr*, u8)
       function int ip_valid_fib_dump_req(net*, const nlmsghdr*, fib_dump_filter*, netlink_callback*)
       function void ipcomp_destroy(xfrm_state*)
       function int ipcomp_init_state(xfrm_state*)
       function int ipcomp_input(xfrm_state*, sk_buff*)
       function int ipcomp_output(xfrm_state*, sk_buff*)
       function unsigned int ipt_do_table(sk_buff*, const nf_hook_state*, xt_table*)
       function int ipt_register_table(net*, const xt_table*, const ipt_replace*, const nf_hook_ops*, xt_table**)
       function void ipt_unregister_table(net*, xt_table*, const nf_hook_ops*)
       function metadata_dst* iptunnel_metadata_reply(metadata_dst*, gfp_t)
       function void iptunnel_xmit(sock*, rtable*, sk_buff*, __be32, __be32, __u8, __u8, __u8, __be16, bool)
       function void ipv4_redirect(sk_buff*, net*, int, u8)
       function void ipv4_sk_redirect(sk_buff*, sock*)
       function void ipv4_sk_update_pmtu(sk_buff*, sock*, u32)
       function void ipv4_update_pmtu(sk_buff*, net*, u32, int, u8)
       function int ipv6_chk_addr(net*, const in6_addr*, const net_device*, int)
       function int ipv6_chk_addr_and_flags(net*, const in6_addr*, const net_device*, bool, int, u32)
       function bool ipv6_chk_custom_prefix(const in6_addr*, const unsigned int, net_device*)
       function int ipv6_chk_prefix(const in6_addr*, net_device*)
       function int ipv6_dev_get_saddr(net*, const net_device*, const in6_addr*, unsigned int, in6_addr*)
       function int ipv6_dev_mc_dec(net_device*, const in6_addr*)
       function int ipv6_dev_mc_inc(net_device*, const in6_addr*)
       function ipv6_txoptions* ipv6_dup_options(sock*, ipv6_txoptions*)
       function int ipv6_getsockopt(sock*, int, int, char*, int*)
       function bool ipv6_opt_accepted(const sock*, const sk_buff*, const inet6_skb_parm*)
       function __be32 ipv6_proxy_select_ident(net*, sk_buff*)
       function int ipv6_recv_error(sock*, msghdr*, int, int*)
       function __be32 ipv6_select_ident(net*, const in6_addr*, const in6_addr*)
       function int ipv6_setsockopt(sock*, int, int, char*, unsigned int)
       function int ipv6_sock_mc_drop(sock*, int, const in6_addr*)
       function int ipv6_sock_mc_join(sock*, int, const in6_addr*)
       function bool is_skb_forwardable(const net_device*, const sk_buff*)
       function int iw_handler_get_spy(net_device*, iw_request_info*, iwreq_data*, char*)
       function int iw_handler_get_thrspy(net_device*, iw_request_info*, iwreq_data*, char*)
       function int iw_handler_set_spy(net_device*, iw_request_info*, iwreq_data*, char*)
       function int iw_handler_set_thrspy(net_device*, iw_request_info*, iwreq_data*, char*)
       function int kernel_accept(socket*, socket**, int)
       function int kernel_bind(socket*, sockaddr*, int)
       function int kernel_connect(socket*, sockaddr*, int, int)
       function int kernel_getpeername(socket*, sockaddr*)
       function int kernel_getsockname(socket*, sockaddr*)
       function int kernel_getsockopt(socket*, int, int, char*, int*)
       function int kernel_listen(socket*, int)
       function int kernel_recvmsg(socket*, msghdr*, kvec*, size_t, size_t, int)
       function int kernel_sendmsg(socket*, msghdr*, kvec*, size_t, size_t)
       function int kernel_sendmsg_locked(sock*, msghdr*, kvec*, size_t, size_t)
       function int kernel_sendpage(socket*, page*, int, size_t, int)
       function int kernel_sendpage_locked(sock*, page*, int, size_t, int)
       function int kernel_setsockopt(socket*, int, int, char*, unsigned int)
       function u32 kernel_sock_ip_overhead(sock*)
       function int kernel_sock_shutdown(socket*, sock_shutdown_cmd)
       function int km_new_mapping(xfrm_state*, xfrm_address_t*, __be16)
       function void km_policy_notify(xfrm_policy*, int, const km_event*)
       function int km_query(xfrm_state*, xfrm_tmpl*, xfrm_policy*)
       function int km_report(net*, u8, xfrm_selector*, xfrm_address_t*)
       function void km_state_expired(xfrm_state*, int, u32)
       function void km_state_notify(xfrm_state*, const km_event*)
       function bool l2cap_is_socket(socket*)
       function void l2tp_recv_common(l2tp_session*, sk_buff*, unsigned char*, unsigned char*, u16, int)
       function l2tp_session* l2tp_session_create(int, l2tp_tunnel*, u32, u32, l2tp_session_cfg*)
       function int l2tp_session_delete(l2tp_session*)
       function void l2tp_session_free(l2tp_session*)
       function l2tp_session* l2tp_session_get(const net*, u32)
       function l2tp_session* l2tp_session_get_by_ifname(const net*, const char*)
       function l2tp_session* l2tp_session_get_nth(l2tp_tunnel*, int)
       function int l2tp_session_register(l2tp_session*, l2tp_tunnel*)
       function void l2tp_session_set_header_len(l2tp_session*, int)
       function int l2tp_tunnel_create(net*, int, int, u32, u32, l2tp_tunnel_cfg*, l2tp_tunnel**)
       function void l2tp_tunnel_delete(l2tp_tunnel*)
       function void l2tp_tunnel_free(l2tp_tunnel*)
       function l2tp_tunnel* l2tp_tunnel_get(const net*, u32)
       function l2tp_tunnel* l2tp_tunnel_get_nth(const net*, int)
       function l2tp_session* l2tp_tunnel_get_session(l2tp_tunnel*, u32)
       function int l2tp_tunnel_register(l2tp_tunnel*, net*, l2tp_tunnel_cfg*)
       function int l2tp_udp_encap_recv(sock*, sk_buff*)
       function int l2tp_xmit_skb(l2tp_session*, sk_buff*, int)
       function void linkwatch_fire_event(net_device*)
       function void llc_add_pack(int, void ()*)
       function int llc_build_and_send_ui_pkt(llc_sap*, sk_buff*, unsigned char*, unsigned char)
       function void llc_sap_close(llc_sap*)
       function llc_sap* llc_sap_find(unsigned char)
       function llc_sap* llc_sap_open(unsigned char, void ()*)
       function bool lock_sock_fast(sock*)
       function void lock_sock_nested(sock*, int)
       function phy_device* mdiobus_get_phy(mii_bus*, int)
       function phy_device* mdiobus_scan(mii_bus*, int)
       function metadata_dst* metadata_dst_alloc(u8, metadata_type, gfp_t)
       function metadata_dst* metadata_dst_alloc_percpu(u8, metadata_type, gfp_t)
       function void metadata_dst_free(metadata_dst*)
       function void metadata_dst_free_percpu(metadata_dst*)
       function int mii_check_gmii_support(mii_if_info*)
       function void mii_check_link(mii_if_info*)
       function unsigned int mii_check_media(mii_if_info*, unsigned int, unsigned int)
       function void mii_ethtool_get_link_ksettings(mii_if_info*, ethtool_link_ksettings*)
       function int mii_ethtool_gset(mii_if_info*, ethtool_cmd*)
       function int mii_ethtool_set_link_ksettings(mii_if_info*, const ethtool_link_ksettings*)
       function int mii_ethtool_sset(mii_if_info*, ethtool_cmd*)
       function int mii_link_ok(mii_if_info*)
       function int mii_nway_restart(mii_if_info*)
       function void mini_qdisc_pair_init(mini_Qdisc_pair*, Qdisc*, mini_Qdisc**)
       function void mini_qdisc_pair_swap(mini_Qdisc_pair*, tcf_proto*)
       function bool napi_complete_done(napi_struct*, int)
       function void napi_disable(napi_struct*)
       function sk_buff* napi_get_frags(napi_struct*)
       function void napi_gro_flush(napi_struct*, bool)
       function gro_result_t napi_gro_frags(napi_struct*)
       function gro_result_t napi_gro_receive(napi_struct*, sk_buff*)
       function bool napi_hash_del(napi_struct*)
       function bool napi_schedule_prep(napi_struct*)
       function int ndisc_mc_map(const in6_addr*, char*, net_device*, int)
       function int ndo_dflt_bridge_getlink(sk_buff*, u32, u32, net_device*, u16, u32, u32, int, u32, void ()*)
       function int ndo_dflt_fdb_add(ndmsg*, nlattr**, net_device*, const unsigned char*, u16, u16)
       function int ndo_dflt_fdb_del(ndmsg*, nlattr**, net_device*, const unsigned char*, u16)
       function int ndo_dflt_fdb_dump(sk_buff*, netlink_callback*, net_device*, net_device*, int*)
       function void neigh_app_ns(neighbour*)
       function int neigh_carrier_down(neigh_table*, net_device*)
       function void neigh_changeaddr(neigh_table*, net_device*)
       function int neigh_connected_output(neighbour*, sk_buff*)
       function void neigh_destroy(neighbour*)
       function int neigh_direct_output(neighbour*, sk_buff*)
       function neighbour* neigh_event_ns(neigh_table*, u8*, void*, net_device*)
       function void neigh_for_each(neigh_table*, void ()*, void*)
       function int neigh_ifdown(neigh_table*, net_device*)
       function neighbour* neigh_lookup(neigh_table*, void*, net_device*)
       function neighbour* neigh_lookup_nodev(neigh_table*, net*, void*)
       function neigh_parms* neigh_parms_alloc(net_device*, neigh_table*)
       function void neigh_parms_release(neigh_table*, neigh_parms*)
       function int neigh_resolve_output(neighbour*, sk_buff*)
       function void* neigh_seq_start(seq_file*, loff_t*, neigh_table*, unsigned int)
       function int neigh_sysctl_register(net_device*, neigh_parms*, proc_handler*)
       function void neigh_sysctl_unregister(neigh_parms*)
       function int neigh_table_clear(int, neigh_table*)
       function void neigh_table_init(int, neigh_table*)
       function int neigh_update(neighbour*, const u8*, u8, u32, u32)
       function int neigh_xmit(int, net_device*, void*, sk_buff*)
       function failover* net_failover_create(net_device*)
       function void net_failover_destroy(failover*)
       function void netdev_adjacent_change_abort(net_device*, net_device*, net_device*)
       function void netdev_adjacent_change_commit(net_device*, net_device*, net_device*)
       function int netdev_adjacent_change_prepare(net_device*, net_device*, net_device*, netlink_ext_ack*)
       function void netdev_alert(const net_device*, const char*, ...)
       function int netdev_bind_sb_channel_queue(net_device*, net_device*, u8, u16, u16)
       function void netdev_bonding_info_change(net_device*, netdev_bonding_info*)
       function int netdev_boot_setup_check(net_device*)
       function void netdev_change_features(net_device*)
       function void netdev_crit(const net_device*, const char*, ...)
       function void netdev_emerg(const net_device*, const char*, ...)
       function void netdev_err(const net_device*, const char*, ...)
       function void netdev_features_change(net_device*)
       function bool netdev_has_any_upper_dev(net_device*)
       function bool netdev_has_upper_dev(net_device*, net_device*)
       function bool netdev_has_upper_dev_all_rcu(net_device*, net_device*)
       function void netdev_info(const net_device*, const char*, ...)
       function bool netdev_is_rx_handler_busy(net_device*)
       function void* netdev_lower_dev_get_private(net_device*, net_device*)
       function void* netdev_lower_get_first_private_rcu(net_device*)
       function void* netdev_lower_get_next(net_device*, list_head**)
       function void* netdev_lower_get_next_private(net_device*, list_head**)
       function void* netdev_lower_get_next_private_rcu(net_device*, list_head**)
       function void netdev_lower_state_changed(net_device*, void*)
       function net_device* netdev_master_upper_dev_get(net_device*)
       function net_device* netdev_master_upper_dev_get_rcu(net_device*)
       function int netdev_master_upper_dev_link(net_device*, net_device*, void*, void*, netlink_ext_ack*)
       function void netdev_notice(const net_device*, const char*, ...)
       function void netdev_notify_peers(net_device*)
       function u16 netdev_pick_tx(net_device*, sk_buff*, net_device*)
       function bool netdev_port_same_parent_id(net_device*, net_device*)
       function void netdev_printk(const char*, const net_device*, const char*, ...)
       function int netdev_refcnt_read(const net_device*)
       function void netdev_reset_tc(net_device*)
       function void netdev_rx_csum_fault(net_device*, sk_buff*)
       function int netdev_rx_handler_register(net_device*, rx_handler_func_t*, void*)
       function void netdev_rx_handler_unregister(net_device*)
       function void netdev_set_default_ethtool_ops(net_device*, const ethtool_ops*)
       function int netdev_set_num_tc(net_device*, u8)
       function int netdev_set_sb_channel(net_device*, u16)
       function int netdev_set_tc_queue(net_device*, u8, u16, u16)
       function void netdev_state_change(net_device*)
       function int netdev_txq_to_tc(net_device*, unsigned int)
       function void netdev_unbind_sb_channel(net_device*, net_device*)
       function void netdev_update_features(net_device*)
       function void netdev_update_lockdep_key(net_device*)
       function int netdev_upper_dev_link(net_device*, net_device*, netlink_ext_ack*)
       function void netdev_upper_dev_unlink(net_device*, net_device*)
       function net_device* netdev_upper_get_next_dev_rcu(net_device*, list_head**)
       function int netdev_walk_all_lower_dev(net_device*, void ()*, void*)
       function int netdev_walk_all_lower_dev_rcu(net_device*, void ()*, void*)
       function int netdev_walk_all_upper_dev_rcu(net_device*, void ()*, void*)
       function void netdev_warn(const net_device*, const char*, ...)
       function void netif_carrier_off(net_device*)
       function void netif_carrier_on(net_device*)
       function void netif_device_attach(net_device*)
       function void netif_device_detach(net_device*)
       function void netif_napi_add(net_device*, napi_struct*, void ()*, int)
       function void netif_napi_del(napi_struct*)
       function void netif_schedule_queue(netdev_queue*)
       function int netif_set_real_num_rx_queues(net_device*, unsigned int)
       function int netif_set_real_num_tx_queues(net_device*, unsigned int)
       function int netif_set_xps_queue(net_device*, const cpumask*, u16)
       function void netif_stacked_transfer_operstate(const net_device*, net_device*)
       function void netif_tx_stop_all_queues(net_device*)
       function void netif_tx_wake_queue(netdev_queue*)
       function int netlink_add_tap(netlink_tap*)
       function int netlink_broadcast(sock*, sk_buff*, u32, u32, gfp_t)
       function int netlink_broadcast_filtered(sock*, sk_buff*, u32, u32, gfp_t, void ()*, void*)
       function int netlink_has_listeners(sock*, unsigned int)
       function void netlink_kernel_release(sock*)
       function int netlink_remove_tap(netlink_tap*)
       function int netlink_set_err(sock*, u32, u32, int)
       function int netlink_unicast(sock*, sk_buff*, u32, int)
       function nexthop* nexthop_find_by_id(net*, u32)
       function int nexthop_for_each_fib6_nh(nexthop*, void ()*, void*)
       function nexthop* nexthop_select_path(nexthop*, int)
       function int nf_conncount_add(net*, nf_conncount_list*, const nf_conntrack_tuple*, const nf_conntrack_zone*)
       function unsigned int nf_conncount_count(net*, nf_conncount_data*, const u32*, const nf_conntrack_tuple*, const nf_conntrack_zone*)
       function void nf_conncount_destroy(net*, unsigned int, nf_conncount_data*)
       function bool nf_conncount_gc_list(net*, nf_conncount_list*)
       function nf_conncount_data* nf_conncount_init(net*, unsigned int, unsigned int)
       function nf_conn* nf_conntrack_alloc(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*, const nf_conntrack_tuple*, gfp_t)
       function nf_conntrack_tuple_hash* nf_conntrack_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
       function unsigned int nf_conntrack_in(sk_buff*, const nf_hook_state*)
       function int nf_conntrack_register_notifier(net*, nf_ct_event_notifier*)
       function void nf_conntrack_unregister_notifier(net*, nf_ct_event_notifier*)
       function void nf_ct_bridge_register(nf_ct_bridge_info*)
       function void nf_ct_bridge_unregister(nf_ct_bridge_info*)
       function nf_conntrack_expect* nf_ct_expect_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
       function void nf_ct_expect_iterate_net(net*, void ()*, void*, u32, int)
       function int nf_ct_expect_register_notifier(net*, nf_exp_event_notifier*)
       function void nf_ct_expect_unregister_notifier(net*, nf_exp_event_notifier*)
       function int nf_ct_frag6_gather(net*, sk_buff*, u32)
       function bool nf_ct_get_tuplepr(const sk_buff*, unsigned int, u_int16_t, net*, nf_conntrack_tuple*)
       function void nf_ct_iterate_cleanup_net(net*, void ()*, void*, u32, int)
       function const nf_conntrack_l4proto* nf_ct_l4proto_find(u8)
       function int nf_ct_netns_get(net*, u8)
       function void nf_ct_netns_put(net*, uint8_t)
       function nf_conn* nf_ct_tmpl_alloc(net*, const nf_conntrack_zone*, gfp_t)
       function void nf_ct_unconfirmed_destroy(net*)
       function int nf_defrag_ipv4_enable(net*)
       function int nf_defrag_ipv6_enable(net*)
       function int nf_getsockopt(sock*, u_int8_t, int, char*, int*)
       function void nf_hook_entries_delete_raw(nf_hook_entries**, const nf_hook_ops*)
       function int nf_hook_entries_insert_raw(nf_hook_entries**, const nf_hook_ops*)
       function int nf_hook_slow(sk_buff*, nf_hook_state*, const nf_hook_entries*, unsigned int)
       function int nf_ip_route(net*, dst_entry**, flowi*, bool)
       function void nf_l4proto_log_invalid(const sk_buff*, net*, u16, u8, const char*, ...)
       function int nf_log_bind_pf(net*, u_int8_t, const nf_logger*)
       function void nf_log_packet(net*, u_int8_t, unsigned int, const sk_buff*, const net_device*, const net_device*, const nf_loginfo*, const char*, ...)
       function int nf_log_set(net*, u_int8_t, const nf_logger*)
       function void nf_log_trace(net*, u_int8_t, unsigned int, const sk_buff*, const net_device*, const net_device*, const nf_loginfo*, const char*, ...)
       function void nf_log_unbind_pf(net*, u_int8_t)
       function void nf_log_unset(net*, const nf_logger*)
       function unsigned int nf_nat_inet_fn(void*, sk_buff*, const nf_hook_state*)
       function int nf_nat_ipv4_register_fn(net*, const nf_hook_ops*)
       function void nf_nat_ipv4_unregister_fn(net*, const nf_hook_ops*)
       function int nf_nat_ipv6_register_fn(net*, const nf_hook_ops*)
       function void nf_nat_ipv6_unregister_fn(net*, const nf_hook_ops*)
       function unsigned int nf_nat_masquerade_ipv4(sk_buff*, unsigned int, const nf_nat_range2*, const net_device*)
       function unsigned int nf_nat_masquerade_ipv6(sk_buff*, const nf_nat_range2*, const net_device*)
       function int nf_queue(sk_buff*, nf_hook_state*, unsigned int, unsigned int)
       function void nf_queue_entry_get_refs(nf_queue_entry*)
       function void nf_queue_entry_release_refs(nf_queue_entry*)
       function void nf_queue_nf_hook_drop(net*)
       function int nf_register_net_hook(net*, const nf_hook_ops*)
       function int nf_register_net_hooks(net*, const nf_hook_ops*, unsigned int)
       function void nf_register_queue_handler(net*, const nf_queue_handler*)
       function int nf_register_sockopt(nf_sockopt_ops*)
       function void nf_reinject(nf_queue_entry*, unsigned int)
       function int nf_route(net*, dst_entry**, flowi*, bool, unsigned short int)
       function void nf_send_reset(net*, sk_buff*, int)
       function void nf_send_reset6(net*, sk_buff*, int)
       function void nf_send_unreach6(net*, sk_buff*, unsigned char, unsigned int)
       function int nf_setsockopt(sock*, u_int8_t, int, char*, unsigned int)
       function sock* nf_sk_lookup_slow_v4(net*, const sk_buff*, const net_device*)
       function sock* nf_sk_lookup_slow_v6(net*, const sk_buff*, const net_device*)
       function sock* nf_tproxy_get_sock_v4(net*, sk_buff*, const u8, const __be32, const __be32, const __be16, const __be16, const net_device*, const nf_tproxy_lookup_t)
       function sock* nf_tproxy_get_sock_v6(net*, sk_buff*, int, const u8, const in6_addr*, const in6_addr*, const __be16, const __be16, const net_device*, const nf_tproxy_lookup_t)
       function sock* nf_tproxy_handle_time_wait4(net*, sk_buff*, __be32, __be16, sock*)
       function sock* nf_tproxy_handle_time_wait6(sk_buff*, int, int, net*, const in6_addr*, const __be16, sock*)
       function void nf_unregister_net_hook(net*, const nf_hook_ops*)
       function void nf_unregister_net_hooks(net*, const nf_hook_ops*, unsigned int)
       function void nf_unregister_queue_handler(net*)
       function void nf_unregister_sockopt(nf_sockopt_ops*)
       function int nf_xfrm_me_harder(net*, sk_buff*, unsigned int)
       function int nfnetlink_has_listeners(net*, unsigned int)
       function int nfnetlink_send(sk_buff*, net*, u32, unsigned int, int, gfp_t)
       function int nfnetlink_set_err(net*, u32, u32, int)
       function int nfnetlink_subsys_register(const nfnetlink_subsystem*)
       function int nfnetlink_subsys_unregister(const nfnetlink_subsystem*)
       function int nfnetlink_unicast(sk_buff*, net*, u32, int)
       function int nlmsg_notify(sock*, sk_buff*, u32, unsigned int, int, gfp_t)
       function void of_can_transceiver(net_device*)
       function net_device* of_find_net_device_by_node(device_node*)
       function phy_device* of_phy_attach(net_device*, device_node*, u32, phy_interface_t)
       function phy_device* of_phy_connect(net_device*, device_node*, void ()*, u32, phy_interface_t)
       function phy_device* of_phy_find_device(device_node*)
       function phy_device* of_phy_get_and_connect(net_device*, device_node*, void ()*)
       function int open_candev(net_device*)
       function netdev_features_t passthru_features_check(sk_buff*, net_device*, netdev_features_t)
       function int peernet2id(net*, net*)
       function int peernet2id_alloc(net*, net*, gfp_t)
       function phy_device* phy_attach(net_device*, const char*, phy_interface_t)
       function int phy_attach_direct(net_device*, phy_device*, u32, phy_interface_t)
       function phy_device* phy_connect(net_device*, const char*, void ()*, phy_interface_t)
       function int phy_connect_direct(net_device*, phy_device*, void ()*, phy_interface_t)
       function int phy_ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
       function int phy_ethtool_nway_reset(net_device*)
       function int phy_ethtool_set_link_ksettings(net_device*, const ethtool_link_ksettings*)
       function int phy_modify(phy_device*, u32, u16, u16)
       function int phy_modify_changed(phy_device*, u32, u16, u16)
       function int phy_modify_mmd(phy_device*, int, u32, u16, u16)
       function int phy_modify_mmd_changed(phy_device*, int, u32, u16, u16)
       function int phy_modify_paged(phy_device*, int, u32, u16, u16)
       function int phy_modify_paged_changed(phy_device*, int, u32, u16, u16)
       function int phy_read_mmd(phy_device*, int, u32)
       function int phy_read_paged(phy_device*, int, u32)
       function void phy_resolve_aneg_linkmode(phy_device*)
       function void phy_resolve_aneg_pause(phy_device*)
       function int phy_restore_page(phy_device*, int, int)
       function int phy_save_page(phy_device*)
       function int phy_select_page(phy_device*, int)
       function int phy_set_max_speed(phy_device*, u32)
       function int phy_write_mmd(phy_device*, int, u32, u16)
       function int phy_write_paged(phy_device*, int, u32, u16)
       function int ping_bind(sock*, sockaddr*, int)
       function void ping_close(sock*, long int)
       function int ping_get_port(sock*, unsigned short int)
       function int ping_hash(sock*)
       function int ping_init_sock(sock*)
       function int ping_queue_rcv_skb(sock*, sk_buff*)
       function int ping_recvmsg(sock*, msghdr*, size_t, int, int, int*)
       function void ping_unhash(sock*)
       function void pneigh_enqueue(neigh_table*, neigh_parms*, sk_buff*)
       function pneigh_entry* pneigh_lookup(neigh_table*, net*, void*, net_device*, int)
       function int ppp_register_net_channel(net*, ppp_channel*)
       function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)
       function int pppox_ioctl(socket*, unsigned int, unsigned long int)
       function void pppox_unbind_sock(sock*)
       function void print_tuple(seq_file*, const nf_conntrack_tuple*, const nf_conntrack_l4proto*)
       function void qdisc_class_hash_grow(Qdisc*, Qdisc_class_hash*)
       function Qdisc* qdisc_create_dflt(netdev_queue*, const Qdisc_ops*, unsigned int, netlink_ext_ack*)
       function void qdisc_hash_add(Qdisc*, bool)
       function void qdisc_hash_del(Qdisc*)
       function int qdisc_offload_dump_helper(Qdisc*, tc_setup_type, void*)
       function void qdisc_offload_graft_helper(net_device*, Qdisc*, Qdisc*, Qdisc*, tc_setup_type, void*, netlink_ext_ack*)
       function void qdisc_put(Qdisc*)
       function void qdisc_put_unlocked(Qdisc*)
       function void qdisc_reset(Qdisc*)
       function void qdisc_tree_reduce_backlog(Qdisc*, int, int)
       function void qdisc_warn_nonwc(const char*, Qdisc*)
       function void qdisc_watchdog_cancel(qdisc_watchdog*)
       function void qdisc_watchdog_init(qdisc_watchdog*, Qdisc*)
       function void qdisc_watchdog_init_clockid(qdisc_watchdog*, Qdisc*, clockid_t)
       function void qdisc_watchdog_schedule_ns(qdisc_watchdog*, u64)
       function int rate_control_set_rates(ieee80211_hw*, ieee80211_sta*, ieee80211_sta_rates*)
       function int raw_abort(sock*, int)
       function int raw_hash_sk(sock*)
       function void raw_unhash_sk(sock*)
       function datalink_proto* register_8022_client(unsigned char, void ()*)
       function int register_candev(net_device*)
       function int register_gifconf(unsigned int, gifconf_func_t*)
       function ctl_table_header* register_net_sysctl(net*, const char*, ctl_table*)
       function int register_netdev(net_device*)
       function int register_netdevice(net_device*)
       function int register_pernet_device(pernet_operations*)
       function int register_pernet_subsys(pernet_operations*)
       function int register_pppox_proto(int, const pppox_proto*)
       function int register_qdisc(Qdisc_ops*)
       function datalink_proto* register_snap_client(const unsigned char*, void ()*)
       function int register_tcf_proto_ops(tcf_proto_ops*)
       function int regulatory_hint(wiphy*, const char*)
       function bool regulatory_pre_cac_allowed(wiphy*)
       function int regulatory_set_wiphy_regd(wiphy*, ieee80211_regdomain*)
       function int regulatory_set_wiphy_regd_sync_rtnl(wiphy*, ieee80211_regdomain*)
       function void release_sock(sock*)
       function int reuseport_add_sock(sock*, sock*, bool)
       function int reuseport_alloc(sock*, bool)
       function int reuseport_attach_prog(sock*, bpf_prog*)
       function int reuseport_detach_prog(sock*)
       function void reuseport_detach_sock(sock*)
       function sock* reuseport_select_sock(sock*, u32, sk_buff*, int)
       function bool rps_may_expire_flow(net_device*, u16, u32, u16)
       function rt6_info* rt6_lookup(net*, const in6_addr*, const in6_addr*, int, const sk_buff*, int)
       function rtable* rt_dst_alloc(net_device*, unsigned int, u16, bool, bool, bool)
       function rtable* rt_dst_clone(net_device*, rtable*)
       function void rtnl_af_register(rtnl_af_ops*)
       function void rtnl_af_unregister(rtnl_af_ops*)
       function int rtnl_configure_link(net_device*, const ifinfomsg*)
       function net_device* rtnl_create_link(net*, const char*, unsigned char, const rtnl_link_ops*, nlattr**, netlink_ext_ack*)
       function int rtnl_delete_link(net_device*)
       function net* rtnl_get_net_ns_capable(sock*, int)
       function net* rtnl_link_get_net(net*, nlattr**)
       function int rtnl_link_register(rtnl_link_ops*)
       function void rtnl_link_unregister(rtnl_link_ops*)
       function void rtnl_notify(sk_buff*, net*, u32, u32, nlmsghdr*, gfp_t)
       function int rtnl_put_cacheinfo(sk_buff*, dst_entry*, u32, long int, u32)
       function void rtnl_set_sk_err(net*, u32, int)
       function int rtnl_unicast(sk_buff*, net*, u32)
       function can_priv* safe_candev_priv(net_device*)
       function sec_path* secpath_set(sk_buff*)
       function u32 secure_tcpv6_ts_off(const net*, const __be32*, const __be32*)
       function void setup_udp_tunnel_sock(net*, socket*, udp_tunnel_sock_cfg*)
       function sock* sk_alloc(net*, int, gfp_t, proto*, int)
       function int sk_attach_filter(sock_fprog*, sock*)
       function bool sk_capable(const sock*, int)
       function void sk_clear_memalloc(sock*)
       function sock* sk_clone_lock(const sock*, const gfp_t)
       function void sk_common_release(sock*)
       function int sk_detach_filter(sock*)
       function dst_entry* sk_dst_check(sock*, u32)
       function int sk_filter_trim_cap(sock*, sk_buff*, unsigned int)
       function void sk_free(sock*)
       function void sk_free_unlock_clone(sock*)
       function bool sk_mc_loop(sock*)
       function bool sk_net_capable(const sock*, int)
       function bool sk_ns_capable(const sock*, user_namespace*, int)
       function bool sk_page_frag_refill(sock*, page_frag*)
       function void sk_reset_timer(sock*, timer_list*, unsigned long int)
       function void sk_send_sigurg(sock*)
       function void sk_set_memalloc(sock*)
       function int sk_set_peek_off(sock*, int)
       function void sk_setup_caps(sock*, dst_entry*)
       function void sk_stop_timer(sock*, timer_list*)
       function int sk_stream_error(sock*, int, int)
       function void sk_stream_kill_queues(sock*)
       function void sk_stream_wait_close(sock*, long int)
       function int sk_stream_wait_connect(sock*, long int*)
       function int sk_stream_wait_memory(sock*, long int*)
       function int sk_wait_data(sock*, long int*, const sk_buff*)
       function void skb_consume_udp(sock*, sk_buff*, int)
       function void skb_free_datagram(sock*, sk_buff*)
       function int skb_kill_datagram(sock*, sk_buff*, unsigned int)
       function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
       function int skb_send_sock_locked(sock*, sk_buff*, int, int)
       function void skb_set_owner_w(sk_buff*, sock*)
       function int skb_splice_bits(sk_buff*, sock*, unsigned int, pipe_inode_info*, unsigned int, unsigned int)
       function int skb_zerocopy_iter_stream(sock*, sk_buff*, msghdr*, int, ubuf_info*)
       function socket* sock_alloc()
       function file* sock_alloc_file(socket*, int, const char*)
       function sk_buff* sock_alloc_send_pskb(sock*, unsigned long int, unsigned long int, int, int*, int)
       function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
       function int sock_cmsg_send(sock*, msghdr*, sockcm_cookie*)
       function int sock_common_getsockopt(socket*, int, int, char*, int*)
       function int sock_common_recvmsg(socket*, msghdr*, size_t, int)
       function int sock_common_setsockopt(socket*, int, int, char*, unsigned int)
       function int sock_create(int, int, int, socket**)
       function int sock_create_kern(net*, int, int, int, socket**)
       function int sock_create_lite(int, int, int, socket**)
       function sk_buff* sock_dequeue_err_skb(sock*)
       function int sock_diag_check_cookie(sock*, const __u32*)
       function int sock_diag_destroy(sock*, int)
       function int sock_diag_put_filterinfo(bool, sock*, sk_buff*, int)
       function int sock_diag_put_meminfo(sock*, sk_buff*, int)
       function int sock_diag_register(const sock_diag_handler*)
       function void sock_diag_save_cookie(sock*, __u32*)
       function void sock_diag_unregister(const sock_diag_handler*)
       function socket* sock_from_file(file*, int*)
       function void sock_gen_put(sock*)
       function int sock_gettstamp(socket*, void*, bool, bool)
       function unsigned long int sock_i_ino(sock*)
       function kuid_t sock_i_uid(sock*)
       function void sock_init_data(socket*, sock*)
       function int sock_inuse_get(net*)
       function void sock_kfree_s(sock*, void*, int)
       function void* sock_kmalloc(sock*, int, gfp_t)
       function void sock_kzfree_s(sock*, void*, int)
       function int sock_no_accept(socket*, socket*, int, bool)
       function int sock_no_bind(socket*, sockaddr*, int)
       function int sock_no_connect(socket*, sockaddr*, int, int)
       function int sock_no_getname(socket*, sockaddr*, int)
       function int sock_no_getsockopt(socket*, int, int, char*, int*)
       function int sock_no_ioctl(socket*, unsigned int, unsigned long int)
       function int sock_no_listen(socket*, int)
       function int sock_no_mmap(file*, socket*, vm_area_struct*)
       function int sock_no_recvmsg(socket*, msghdr*, size_t, int)
       function int sock_no_sendmsg(socket*, msghdr*, size_t)
       function int sock_no_sendmsg_locked(sock*, msghdr*, size_t)
       function ssize_t sock_no_sendpage(socket*, page*, int, size_t, int)
       function ssize_t sock_no_sendpage_locked(sock*, page*, int, size_t, int)
       function int sock_no_setsockopt(socket*, int, int, char*, unsigned int)
       function int sock_no_shutdown(socket*, int)
       function int sock_no_socketpair(socket*, socket*)
       function void sock_prot_inuse_add(net*, proto*, int)
       function int sock_prot_inuse_get(net*, proto*)
       function int sock_queue_err_skb(sock*, sk_buff*)
       function int sock_queue_rcv_skb(sock*, sk_buff*)
       function int sock_recv_errqueue(sock*, msghdr*, int, int, int)
       function int sock_recvmsg(socket*, msghdr*, int)
       function int sock_register(const net_proto_family*)
       function void sock_release(socket*)
       function int sock_sendmsg(socket*, msghdr*)
       function int sock_setsockopt(socket*, int, int, char*, unsigned int)
       function sk_buff* sock_wmalloc(sock*, unsigned long int, int, gfp_t)
       function ubuf_info* sock_zerocopy_alloc(sock*, size_t)
       function ubuf_info* sock_zerocopy_realloc(sock*, size_t, ubuf_info*)
       function socket* sockfd_lookup(int, int*)
       function int stp_proto_register(const stp_proto*)
       function void stp_proto_unregister(const stp_proto*)
       function void tc_cleanup_flow_action(flow_action*)
       function int tc_setup_cb_add(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, bool)
       function int tc_setup_cb_call(tcf_block*, tc_setup_type, void*, bool, bool)
       function int tc_setup_cb_destroy(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, bool)
       function int tc_setup_cb_reoffload(tcf_block*, tcf_proto*, bool, flow_setup_cb_t*, tc_setup_type, void*, void*, u32*, unsigned int*)
       function int tc_setup_cb_replace(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, u32*, unsigned int*, bool)
       function int tc_setup_flow_action(flow_action*, const tcf_exts*, bool)
       function int tcf_action_check_ctrlact(int, tcf_proto*, tcf_chain**, netlink_ext_ack*)
       function int tcf_action_dump_1(sk_buff*, tc_action*, int, int)
       function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)
       function tcf_chain* tcf_action_set_ctrlact(tc_action*, int, tcf_chain*)
       function int tcf_block_get(tcf_block**, tcf_proto**, Qdisc*, netlink_ext_ack*)
       function int tcf_block_get_ext(tcf_block**, Qdisc*, tcf_block_ext_info*, netlink_ext_ack*)
       function void tcf_block_netif_keep_dst(tcf_block*)
       function void tcf_block_put(tcf_block*)
       function void tcf_block_put_ext(tcf_block*, Qdisc*, tcf_block_ext_info*)
       function tcf_chain* tcf_chain_get_by_act(tcf_block*, u32)
       function void tcf_chain_put_by_act(tcf_chain*)
       function int tcf_classify(sk_buff*, const tcf_proto*, tcf_result*, bool)
       function int tcf_em_register(tcf_ematch_ops*)
       function void tcf_em_tree_destroy(tcf_ematch_tree*)
       function int tcf_em_tree_dump(sk_buff*, tcf_ematch_tree*, int)
       function int tcf_em_tree_validate(tcf_proto*, nlattr*, tcf_ematch_tree*)
       function void tcf_em_unregister(tcf_ematch_ops*)
       function void tcf_exts_change(tcf_exts*, tcf_exts*)
       function void tcf_exts_destroy(tcf_exts*)
       function int tcf_exts_dump(sk_buff*, tcf_exts*)
       function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)
       function unsigned int tcf_exts_num_actions(tcf_exts*)
       function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, bool, bool, netlink_ext_ack*)
       function int tcf_generic_walker(tc_action_net*, sk_buff*, netlink_callback*, int, const tc_action_ops*, netlink_ext_ack*)
       function tcf_chain* tcf_get_next_chain(tcf_block*, tcf_chain*)
       function tcf_proto* tcf_get_next_proto(tcf_chain*, tcf_proto*, bool)
       function int tcf_idr_check_alloc(tc_action_net*, u32*, tc_action**, int)
       function void tcf_idr_cleanup(tc_action_net*, u32)
       function int tcf_idr_create(tc_action_net*, u32, nlattr*, tc_action**, const tc_action_ops*, int, bool)
       function void tcf_idr_insert(tc_action_net*, tc_action*)
       function int tcf_idr_search(tc_action_net*, tc_action**, u32)
       function void tcf_idrinfo_destroy(const tc_action_ops*, tcf_idrinfo*)
       function int tcf_register_action(tc_action_ops*, pernet_operations*)
       function int tcf_unregister_action(tc_action_ops*, pernet_operations*)
       function int tcp_abort(sock*, int)
       function bool tcp_add_backlog(sock*, sk_buff*)
       function u32 tcp_ca_get_key_by_name(net*, const char*, bool*)
       function void tcp_ca_openreq_child(sock*, const dst_entry*)
       function sock* tcp_check_req(sock*, sk_buff*, request_sock*, bool, bool*)
       function int tcp_child_process(sock*, sock*, sk_buff*)
       function void tcp_close(sock*, long int)
       function void tcp_cong_avoid_ai(tcp_sock*, u32, u32)
       function int tcp_conn_request(request_sock_ops*, const tcp_request_sock_ops*, sock*, sk_buff*)
       function int tcp_connect(sock*)
       function sock* tcp_create_openreq_child(const sock*, request_sock*, sk_buff*)
       function int tcp_disconnect(sock*, int)
       function void tcp_done(sock*)
       function void tcp_enter_cwr(sock*)
       function void tcp_enter_memory_pressure(sock*)
       function void tcp_enter_quickack_mode(sock*, unsigned int)
       function bool tcp_fastopen_defer_connect(sock*, int*)
       function int tcp_filter(sock*, sk_buff*)
       function void tcp_get_info(sock*, tcp_info*)
       function u16 tcp_get_syncookie_mss(request_sock_ops*, const tcp_request_sock_ops*, sock*, tcphdr*)
       function int tcp_getsockopt(sock*, int, int, char*, int*)
       function void tcp_init_sock(sock*)
       function void tcp_initialize_rcv_mss(sock*)
       function int tcp_ioctl(sock*, int, unsigned long int)
       function void tcp_leave_memory_pressure(sock*)
       function sk_buff* tcp_make_synack(const sock*, dst_entry*, request_sock*, tcp_fastopen_cookie*, tcp_synack_type)
       function int tcp_mmap(file*, socket*, vm_area_struct*)
       function int tcp_mss_to_mtu(sock*, int)
       function void tcp_mtup_init(sock*)
       function void tcp_openreq_init_rwin(request_sock*, const sock*, const dst_entry*)
       function void tcp_parse_options(const net*, const sk_buff*, tcp_options_received*, int, tcp_fastopen_cookie*)
       function int tcp_peek_len(socket*)
       function __poll_t tcp_poll(file*, socket*, poll_table*)
       function void tcp_rate_check_app_limited(sock*)
       function void tcp_rcv_established(sock*, sk_buff*)
       function int tcp_rcv_state_process(sock*, sk_buff*)
       function int tcp_read_sock(sock*, read_descriptor_t*, sk_read_actor_t)
       function int tcp_recvmsg(sock*, msghdr*, size_t, int, int, int*)
       function int tcp_register_ulp(tcp_ulp_ops*)
       function void tcp_release_cb(sock*)
       function void tcp_reno_cong_avoid(sock*, u32, u32)
       function u32 tcp_reno_ssthresh(sock*)
       function u32 tcp_reno_undo_cwnd(sock*)
       function void tcp_req_err(sock*, u32, bool)
       function int tcp_rtx_synack(const sock*, request_sock*)
       function void tcp_select_initial_window(const sock*, int, __u32, __u32*, __u32*, int, __u8*, __u32)
       function int tcp_sendmsg(sock*, msghdr*, size_t)
       function int tcp_sendmsg_locked(sock*, msghdr*, size_t)
       function int tcp_sendpage(sock*, page*, int, size_t, int)
       function int tcp_sendpage_locked(sock*, page*, int, size_t, int)
       function void tcp_set_keepalive(sock*, int)
       function int tcp_set_rcvlowat(sock*, int)
       function void tcp_set_state(sock*, int)
       function int tcp_setsockopt(sock*, int, int, char*, unsigned int)
       function void tcp_shutdown(sock*, int)
       function void tcp_simple_retransmit(sock*)
       function u32 tcp_slow_start(tcp_sock*, u32)
       function ssize_t tcp_splice_read(socket*, loff_t*, pipe_inode_info*, size_t, unsigned int)
       function void tcp_syn_ack_timeout(const request_sock*)
       function unsigned int tcp_sync_mss(sock*, u32)
       function void tcp_time_wait(sock*, int, int)
       function void tcp_twsk_destructor(sock*)
       function int tcp_twsk_unique(sock*, sock*, void*)
       function void tcp_unregister_ulp(tcp_ulp_ops*)
       function int tcp_v4_conn_request(sock*, sk_buff*)
       function int tcp_v4_connect(sock*, sockaddr*, int)
       function void tcp_v4_destroy_sock(sock*)
       function int tcp_v4_do_rcv(sock*, sk_buff*)
       function void tcp_v4_mtu_reduced(sock*)
       function void tcp_v4_send_check(sock*, sk_buff*)
       function sock* tcp_v4_syn_recv_sock(const sock*, sk_buff*, request_sock*, dst_entry*, request_sock*, bool*)
       function int tipc_nl_sk_walk(sk_buff*, netlink_callback*, void ()*)
       function int tipc_sk_fill_sock_diag(sk_buff*, netlink_callback*, tipc_sock*, u32, void ()*)
       function socket* tun_get_socket(file*)
       function sock* udp4_lib_lookup(net*, __be32, __be16, __be32, __be16, int)
       function sock* udp4_lib_lookup_skb(sk_buff*, __be16, __be16)
       function sock* udp6_lib_lookup(net*, const in6_addr*, __be16, const in6_addr*, __be16, int)
       function sock* udp6_lib_lookup_skb(sk_buff*, __be16, __be16)
       function int udp_abort(sock*, int)
       function int udp_cmsg_send(sock*, msghdr*, u16*)
       function void udp_destruct_sock(sock*)
       function int udp_disconnect(sock*, int)
       function void udp_flush_pending_frames(sock*)
       function int udp_gro_complete(sk_buff*, int, udp_lookup_t)
       function sk_buff* udp_gro_receive(list_head*, sk_buff*, udphdr*, udp_lookup_t)
       function int udp_init_sock(sock*)
       function int udp_ioctl(sock*, int, unsigned long int)
       function int udp_lib_get_port(sock*, unsigned short int, unsigned int)
       function int udp_lib_getsockopt(sock*, int, int, char*, int*)
       function void udp_lib_rehash(sock*, u16)
       function int udp_lib_setsockopt(sock*, int, int, char*, unsigned int, void ()*)
       function void udp_lib_unhash(sock*)
       function __poll_t udp_poll(file*, socket*, poll_table*)
       function int udp_pre_connect(sock*, sockaddr*, int)
       function int udp_push_pending_frames(sock*)
       function int udp_sendmsg(sock*, msghdr*, size_t)
       function bool udp_sk_rx_dst_set(sock*, dst_entry*)
       function void udp_skb_destructor(sock*, sk_buff*)
       function int udp_sock_create4(net*, udp_port_cfg*, socket**)
       function int udp_sock_create6(net*, udp_port_cfg*, socket**)
       function metadata_dst* udp_tun_rx_dst(sk_buff*, unsigned short int, __be16, __be64, int)
       function int udp_tunnel6_xmit_skb(dst_entry*, sock*, sk_buff*, net_device*, in6_addr*, in6_addr*, __u8, __u8, __be32, __be16, __be16, bool)
       function void udp_tunnel_drop_rx_port(net_device*, socket*, unsigned short int)
       function void udp_tunnel_notify_add_rx_port(socket*, unsigned short int)
       function void udp_tunnel_notify_del_rx_port(socket*, unsigned short int)
       function void udp_tunnel_push_rx_port(net_device*, socket*, unsigned short int)
       function void udp_tunnel_sock_release(socket*)
       function void udp_tunnel_xmit_skb(rtable*, sock*, sk_buff*, __be32, __be32, __u8, __u8, __be16, __be16, __be16, bool, bool)
       function sock* unix_get_socket(file*)
       function long int unix_inq_len(sock*)
       function long int unix_outq_len(sock*)
       function sock* unix_peer_get(sock*)
       function void unregister_8022_client(datalink_proto*)
       function void unregister_candev(net_device*)
       function void unregister_netdev(net_device*)
       function void unregister_netdevice_queue(net_device*, list_head*)
       function void unregister_pernet_device(pernet_operations*)
       function void unregister_pernet_subsys(pernet_operations*)
       function int unregister_qdisc(Qdisc_ops*)
       function void unregister_snap_client(datalink_proto*)
       function int unregister_tcf_proto_ops(tcf_proto_ops*)
       function int usbnet_change_mtu(net_device*, int)
       function void usbnet_defer_kevent(usbnet*, int)
       function void usbnet_device_suggests_idle(usbnet*)
       function void usbnet_get_drvinfo(net_device*, ethtool_drvinfo*)
       function int usbnet_get_endpoints(usbnet*, usb_interface*)
       function int usbnet_get_ethernet_addr(usbnet*, int)
       function u32 usbnet_get_link(net_device*)
       function int usbnet_get_link_ksettings(net_device*, ethtool_link_ksettings*)
       function u32 usbnet_get_msglevel(net_device*)
       function void usbnet_get_stats64(net_device*, rtnl_link_stats64*)
       function void usbnet_link_change(usbnet*, bool, bool)
       function int usbnet_manage_power(usbnet*, int)
       function int usbnet_nway_reset(net_device*)
       function int usbnet_open(net_device*)
       function void usbnet_pause_rx(usbnet*)
       function void usbnet_purge_paused_rxq(usbnet*)
       function int usbnet_read_cmd(usbnet*, u8, u8, u16, u16, void*, u16)
       function int usbnet_read_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)
       function void usbnet_resume_rx(usbnet*)
       function int usbnet_set_link_ksettings(net_device*, const ethtool_link_ksettings*)
       function void usbnet_set_msglevel(net_device*, u32)
       function void usbnet_skb_return(usbnet*, sk_buff*)
       function netdev_tx_t usbnet_start_xmit(sk_buff*, net_device*)
       function int usbnet_status_start(usbnet*, gfp_t)
       function void usbnet_status_stop(usbnet*)
       function int usbnet_stop(net_device*)
       function void usbnet_tx_timeout(net_device*)
       function void usbnet_unlink_rx_urbs(usbnet*)
       function void usbnet_update_max_qlen(usbnet*)
       function int usbnet_write_cmd(usbnet*, u8, u8, u16, u16, void*, u16)
       function int usbnet_write_cmd_async(usbnet*, u8, u8, u16, u16, void*, u16)
       function int usbnet_write_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)
       function sk_buff* validate_xmit_skb_list(sk_buff*, net_device*, bool*)
       function int virt_wifi_register_network_simulation(virt_wifi_network_simulation*)
       function int virtio_transport_connect(vsock_sock*)
       function void virtio_transport_deliver_tap_pkt(virtio_vsock_pkt*)
       function void virtio_transport_destruct(vsock_sock*)
       function int virtio_transport_dgram_bind(vsock_sock*, sockaddr_vm*)
       function int virtio_transport_dgram_dequeue(vsock_sock*, msghdr*, size_t, int)
       function int virtio_transport_dgram_enqueue(vsock_sock*, sockaddr_vm*, msghdr*, size_t)
       function int virtio_transport_do_socket_init(vsock_sock*, vsock_sock*)
       function void virtio_transport_free_pkt(virtio_vsock_pkt*)
       function u64 virtio_transport_get_buffer_size(vsock_sock*)
       function u32 virtio_transport_get_credit(virtio_vsock_sock*, u32)
       function u64 virtio_transport_get_max_buffer_size(vsock_sock*)
       function u64 virtio_transport_get_min_buffer_size(vsock_sock*)
       function void virtio_transport_inc_tx_pkt(virtio_vsock_sock*, virtio_vsock_pkt*)
       function int virtio_transport_notify_poll_in(vsock_sock*, size_t, bool*)
       function int virtio_transport_notify_poll_out(vsock_sock*, size_t, bool*)
       function int virtio_transport_notify_recv_init(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
       function int virtio_transport_notify_recv_post_dequeue(vsock_sock*, size_t, ssize_t, bool, vsock_transport_recv_notify_data*)
       function int virtio_transport_notify_recv_pre_block(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
       function int virtio_transport_notify_recv_pre_dequeue(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
       function int virtio_transport_notify_send_init(vsock_sock*, vsock_transport_send_notify_data*)
       function int virtio_transport_notify_send_post_enqueue(vsock_sock*, ssize_t, vsock_transport_send_notify_data*)
       function int virtio_transport_notify_send_pre_block(vsock_sock*, vsock_transport_send_notify_data*)
       function int virtio_transport_notify_send_pre_enqueue(vsock_sock*, vsock_transport_send_notify_data*)
       function void virtio_transport_put_credit(virtio_vsock_sock*, u32)
       function void virtio_transport_recv_pkt(virtio_vsock_pkt*)
       function void virtio_transport_release(vsock_sock*)
       function void virtio_transport_set_buffer_size(vsock_sock*, u64)
       function void virtio_transport_set_max_buffer_size(vsock_sock*, u64)
       function void virtio_transport_set_min_buffer_size(vsock_sock*, u64)
       function int virtio_transport_shutdown(vsock_sock*, int)
       function ssize_t virtio_transport_stream_dequeue(vsock_sock*, msghdr*, size_t, int)
       function ssize_t virtio_transport_stream_enqueue(vsock_sock*, msghdr*, size_t)
       function s64 virtio_transport_stream_has_data(vsock_sock*)
       function s64 virtio_transport_stream_has_space(vsock_sock*)
       function bool virtio_transport_stream_is_active(vsock_sock*)
       function u64 virtio_transport_stream_rcvhiwat(vsock_sock*)
       function void vlan_ioctl_set(void ()*)
       function void vsock_add_pending(sock*, sock*)
       function int vsock_add_tap(vsock_tap*)
       function const vsock_transport* vsock_core_get_transport()
       function void vsock_enqueue_accept(sock*, sock*)
       function sock* vsock_find_bound_socket(sockaddr_vm*)
       function sock* vsock_find_connected_socket(sockaddr_vm*, sockaddr_vm*)
       function void vsock_insert_connected(vsock_sock*)
       function void vsock_remove_bound(vsock_sock*)
       function void vsock_remove_connected(vsock_sock*)
       function void vsock_remove_pending(sock*, sock*)
       function void vsock_remove_sock(vsock_sock*)
       function int vsock_remove_tap(vsock_tap*)
       function s64 vsock_stream_has_data(vsock_sock*)
       function s64 vsock_stream_has_space(vsock_sock*)
       function ieee80211_vif* wdev_to_ieee80211_vif(wireless_dev*)
       function void wiphy_apply_custom_regulatory(wiphy*, const ieee80211_regdomain*)
       function void wiphy_free(wiphy*)
       function wiphy* wiphy_new_nm(const cfg80211_ops*, int, const char*)
       function void wiphy_read_of_freq_limits(wiphy*)
       function int wiphy_register(wiphy*)
       function void wiphy_rfkill_set_hw_state(wiphy*, bool)
       function void wiphy_rfkill_start_polling(wiphy*)
       function void wiphy_rfkill_stop_polling(wiphy*)
       function ieee80211_hw* wiphy_to_ieee80211_hw(wiphy*)
       function void wiphy_unregister(wiphy*)
       function void wireless_send_event(net_device*, unsigned int, iwreq_data*, const char*)
       function void wireless_spy_update(net_device*, unsigned char*, iw_quality*)
       function bool xdp_attachment_flags_ok(xdp_attachment_info*, netdev_bpf*)
       function int xdp_attachment_query(xdp_attachment_info*, netdev_bpf*)
       function void xdp_attachment_setup(xdp_attachment_info*, netdev_bpf*)
       function int xdp_do_generic_redirect(net_device*, sk_buff*, xdp_buff*, bpf_prog*)
       function int xdp_do_redirect(net_device*, xdp_buff*, bpf_prog*)
       function int xdp_rxq_info_reg(xdp_rxq_info*, net_device*, u32)
       function int xfrm6_find_1stfragopt(xfrm_state*, sk_buff*, u8**)
       function __be32 xfrm6_tunnel_alloc_spi(net*, xfrm_address_t*)
       function __be32 xfrm6_tunnel_spi_lookup(net*, const xfrm_address_t*)
       function int xfrm_alloc_spi(xfrm_state*, u32, u32)
       function void xfrm_audit_state_add(xfrm_state*, int, bool)
       function void xfrm_audit_state_delete(xfrm_state*, int, bool)
       function void xfrm_audit_state_icvfail(xfrm_state*, sk_buff*, u8)
       function void xfrm_audit_state_replay(xfrm_state*, sk_buff*, __be32)
       function void xfrm_audit_state_replay_overflow(xfrm_state*, sk_buff*)
       function int xfrm_dev_state_flush(net*, net_device*, bool)
       function void xfrm_dst_ifdown(dst_entry*, net_device*)
       function xfrm_state* xfrm_find_acq(net*, const xfrm_mark*, u8, u32, u32, u8, const xfrm_address_t*, const xfrm_address_t*, int, unsigned short int)
       function xfrm_state* xfrm_find_acq_byseq(net*, u32, u32)
       function void xfrm_if_register_cb(const xfrm_if_cb*)
       function int xfrm_init_replay(xfrm_state*)
       function int xfrm_init_state(xfrm_state*)
       function dst_entry* xfrm_lookup(net*, dst_entry*, const flowi*, const sock*, int)
       function dst_entry* xfrm_lookup_route(net*, dst_entry*, const flowi*, const sock*, int)
       function dst_entry* xfrm_lookup_with_ifid(net*, dst_entry*, const flowi*, const sock*, int, u32)
       function int xfrm_output(sock*, sk_buff*)
       function xfrm_policy* xfrm_policy_alloc(net*, gfp_t)
       function xfrm_policy* xfrm_policy_byid(net*, u32, u32, u8, int, u32, int, int*)
       function xfrm_policy* xfrm_policy_bysel_ctx(net*, u32, u32, u8, int, xfrm_selector*, xfrm_sec_ctx*, int, int*)
       function int xfrm_policy_flush(net*, u8, bool)
       function void xfrm_policy_hash_rebuild(net*)
       function int xfrm_policy_register_afinfo(const xfrm_policy_afinfo*, int)
       function void xfrm_policy_unregister_afinfo(const xfrm_policy_afinfo*)
       function int xfrm_policy_walk(net*, xfrm_policy_walk*, void ()*, void*)
       function void xfrm_policy_walk_done(xfrm_policy_walk*, net*)
       function int xfrm_register_km(xfrm_mgr*)
       function int xfrm_register_type(const xfrm_type*, unsigned short int)
       function int xfrm_register_type_offload(const xfrm_type_offload*, unsigned short int)
       function u32 xfrm_replay_seqhi(xfrm_state*, __be32)
       function void xfrm_sad_getinfo(net*, xfrmk_sadinfo*)
       function void xfrm_spd_getinfo(net*, xfrmk_spdinfo*)
       function int xfrm_state_add(xfrm_state*)
       function xfrm_state_afinfo* xfrm_state_afinfo_get_rcu(unsigned int)
       function xfrm_state* xfrm_state_alloc(net*)
       function int xfrm_state_check_expire(xfrm_state*)
       function int xfrm_state_delete(xfrm_state*)
       function void xfrm_state_delete_tunnel(xfrm_state*)
       function int xfrm_state_flush(net*, u8, bool, bool)
       function void xfrm_state_free(xfrm_state*)
       function void xfrm_state_insert(xfrm_state*)
       function xfrm_state* xfrm_state_lookup(net*, u32, const xfrm_address_t*, __be32, u8, unsigned short int)
       function xfrm_state* xfrm_state_lookup_byaddr(net*, u32, const xfrm_address_t*, const xfrm_address_t*, u8, unsigned short int)
       function xfrm_state* xfrm_state_lookup_byspi(net*, __be32, unsigned short int)
       function u32 xfrm_state_mtu(xfrm_state*, int)
       function int xfrm_state_register_afinfo(xfrm_state_afinfo*)
       function int xfrm_state_unregister_afinfo(xfrm_state_afinfo*)
       function int xfrm_state_update(xfrm_state*)
       function int xfrm_state_walk(net*, xfrm_state_walk*, void ()*, void*)
       function void xfrm_state_walk_done(xfrm_state_walk*, net*)
       function xfrm_state* xfrm_stateonly_find(net*, u32, u32, xfrm_address_t*, xfrm_address_t*, unsigned short int, u8, u8, u32)
       function int xfrm_trans_queue(sk_buff*, void ()*)
       function int xfrm_unregister_km(xfrm_mgr*)
       function void xfrm_unregister_type(const xfrm_type*, unsigned short int)
       function void xfrm_unregister_type_offload(const xfrm_type_offload*, unsigned short int)
       function int xfrm_user_policy(sock*, int, u8*, int)
       function int xt_check_match(xt_mtchk_param*, unsigned int, u16, bool)
       function int xt_check_target(xt_tgchk_param*, unsigned int, u16, bool)
       function void xt_compat_match_from_user(xt_entry_match*, void**, unsigned int*)
       function int xt_compat_match_offset(const xt_match*)
       function int xt_compat_match_to_user(const xt_entry_match*, void**, unsigned int*)
       function void xt_compat_target_from_user(xt_entry_target*, void**, unsigned int*)
       function int xt_compat_target_offset(const xt_target*)
       function int xt_compat_target_to_user(const xt_entry_target*, void**, unsigned int*)
       function xt_match* xt_find_match(u8, const char*, u8)
       function xt_table* xt_find_table_lock(net*, u_int8_t, const char*)
       function nf_hook_ops* xt_hook_ops_alloc(const xt_table*, nf_hookfn*)
       function int xt_match_to_user(const xt_entry_match*, xt_entry_match*)
       function void xt_proto_fini(net*, u_int8_t)
       function int xt_proto_init(net*, u_int8_t)
       function int xt_register_match(xt_match*)
       function int xt_register_matches(xt_match*, unsigned int)
       function xt_table* xt_register_table(net*, const xt_table*, xt_table_info*, xt_table_info*)
       function int xt_register_target(xt_target*)
       function int xt_register_targets(xt_target*, unsigned int)
       function xt_match* xt_request_find_match(uint8_t, const char*, uint8_t)
       function xt_table* xt_request_find_table_lock(net*, u_int8_t, const char*)
       function xt_target* xt_request_find_target(u8, const char*, u8)
       function int xt_target_to_user(const xt_entry_target*, xt_entry_target*)
       function void xt_unregister_match(xt_match*)
       function void xt_unregister_matches(xt_match*, unsigned int)
       function void xt_unregister_target(xt_target*)
       function void xt_unregister_targets(xt_target*, unsigned int)
       void ()* __fib6_flush_trees
       neigh_table arp_tbl
       net_device* blackhole_netdev
       net init_net
       neigh_table nd_tbl
       nf_ct_hook* nf_ct_hook
       netlink_table* nl_table
       pingv6_ops pingv6_ops
       softnet_data softnet_data

  1565 impacted interfaces:
    Qdisc_ops bfifo_qdisc_ops
    const Qdisc_ops* default_qdisc_ops
    const proto_ops inet_dgram_ops
    const proto_ops inet_stream_ops
    const inet_connection_sock_af_ops ipv4_specific
    const ipv6_bpf_stub* ipv6_bpf_stub
    const ipv6_stub* ipv6_stub
    const nf_ipv6_ops* nf_ipv6_ops
    Qdisc noop_qdisc
    Qdisc_ops pfifo_fast_ops
    Qdisc_ops pfifo_qdisc_ops
    function sk_buff* __cfg80211_alloc_event_skb(wiphy*, wireless_dev*, nl80211_commands, nl80211_attrs, unsigned int, int, int, gfp_t)
    function sk_buff* __cfg80211_alloc_reply_skb(wiphy*, nl80211_commands, nl80211_attrs, int)
    function int __cgroup_bpf_run_filter_getsockopt(sock*, int, int, char*, int*, int, int)
    function int __cgroup_bpf_run_filter_setsockopt(sock*, int*, int*, char*, int*, char**)
    function int __cgroup_bpf_run_filter_sk(sock*, bpf_attach_type)
    function int __cgroup_bpf_run_filter_skb(sock*, sk_buff*, bpf_attach_type)
    function int __cgroup_bpf_run_filter_sock_addr(sock*, sockaddr*, bpf_attach_type, void*)
    function int __cgroup_bpf_run_filter_sock_ops(sock*, bpf_sock_ops_kern*, bpf_attach_type)
    function int __dev_forward_skb(net_device*, sk_buff*)
    function net_device* __dev_get_by_flags(net*, unsigned short int, unsigned short int)
    function net_device* __dev_get_by_index(net*, int)
    function net_device* __dev_get_by_name(net*, const char*)
    function net_device* __dev_getfirstbyhwtype(net*, unsigned short int)
    function void __dev_remove_pack(packet_type*)
    function int __dev_set_mtu(net_device*, int)
    function void __dst_destroy_metrics_generic(dst_entry*, unsigned long int)
    function int __ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
    function int __fib_lookup(net*, flowi4*, fib_result*, unsigned int)
    function ip6_flowlabel* __fl6_sock_lookup(sock*, __be32)
    function int __hw_addr_ref_sync_dev(netdev_hw_addr_list*, net_device*, void ()*, void ()*)
    function void __hw_addr_ref_unsync_dev(netdev_hw_addr_list*, net_device*, void ()*)
    function int __hw_addr_sync_dev(netdev_hw_addr_list*, net_device*, void ()*, void ()*)
    function void __hw_addr_unsync_dev(netdev_hw_addr_list*, net_device*, void ()*)
    function void __ieee80211_schedule_txq(ieee80211_hw*, ieee80211_txq*, bool)
    function sock* __inet6_lookup_established(net*, inet_hashinfo*, const in6_addr*, const __be16, const in6_addr*, const u16, const int, const int)
    function int __inet_hash(sock*, sock*)
    function int __inet_inherit_port(const sock*, sock*)
    function sock* __inet_lookup_established(net*, inet_hashinfo*, const __be32, const __be16, const __be32, const u16, const int, const int)
    function sock* __inet_lookup_listener(net*, inet_hashinfo*, sk_buff*, int, const __be32, __be16, const __be32, const unsigned short int, const int, const int)
    function int __inet_stream_connect(socket*, sockaddr*, int, int, int)
    function int __ip4_datagram_connect(sock*, sockaddr*, int)
    function int __ip6_datagram_connect(sock*, sockaddr*, int)
    function int __ip6_local_out(net*, sock*, sk_buff*)
    function net_device* __ip_dev_find(net*, __be32, bool)
    function void __ip_mc_dec_group(in_device*, __be32, gfp_t)
    function void __ip_mc_inc_group(in_device*, __be32, gfp_t)
    function int __ip_options_compile(net*, ip_options*, sk_buff*, __be32*)
    function int __ip_queue_xmit(sock*, sk_buff*, flowi*, __u8)
    function void __ip_select_ident(net*, iphdr*, int)
    function int __ip_tunnel_change_mtu(net_device*, int, bool)
    function void __l2tp_session_unhash(l2tp_session*)
    function sk_buff* __napi_alloc_skb(napi_struct*, unsigned int, gfp_t)
    function void __napi_schedule(napi_struct*)
    function void __napi_schedule_irqoff(napi_struct*)
    function neighbour* __neigh_create(neigh_table*, void*, net_device*, bool)
    function int __neigh_event_send(neighbour*, sk_buff*)
    function void __neigh_for_each_release(neigh_table*, void ()*)
    function void __neigh_set_probe_once(neighbour*)
    function sk_buff* __netdev_alloc_skb(net_device*, unsigned int, gfp_t)
    function void __netif_schedule(Qdisc*)
    function int __netif_set_xps_queue(net_device*, const unsigned long int*, u16, bool)
    function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)
    function sock* __netlink_kernel_create(net*, int, module*, netlink_kernel_cfg*)
    function bool __netlink_ns_capable(const netlink_skb_parms*, user_namespace*, int)
    function nf_conntrack_expect* __nf_ct_expect_find(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
    function int __nf_ip6_route(net*, dst_entry**, flowi*, bool)
    function int __phy_modify(phy_device*, u32, u16, u16)
    function int __phy_modify_changed(phy_device*, u32, u16, u16)
    function int __phy_modify_mmd(phy_device*, int, u32, u16, u16)
    function int __phy_modify_mmd_changed(phy_device*, int, u32, u16, u16)
    function int __phy_read_mmd(phy_device*, int, u32)
    function int __phy_write_mmd(phy_device*, int, u32, u16)
    function pneigh_entry* __pneigh_lookup(neigh_table*, net*, void*, net_device*)
    function sock* __raw_v4_lookup(net*, sock*, unsigned short int, __be32, __be32, int, int)
    function sock* __raw_v6_lookup(net*, sock*, unsigned short int, const in6_addr*, const in6_addr*, int, int)
    function int __rtnl_link_register(rtnl_link_ops*)
    function void __rtnl_link_unregister(rtnl_link_ops*)
    function int __scm_send(socket*, msghdr*, scm_cookie*)
    function int __sk_backlog_rcv(sock*, sk_buff*)
    function dst_entry* __sk_dst_check(sock*, u32)
    function int __sk_mem_raise_allocated(sock*, int, int, int)
    function void __sk_mem_reclaim(sock*, int)
    function void __sk_mem_reduce_allocated(sock*, int)
    function int __sk_mem_schedule(sock*, int, int)
    function int __sk_queue_drop_skb(sock*, sk_buff_head*, sk_buff*, unsigned int, void ()*)
    function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)
    function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)
    function void __skb_free_datagram_locked(sock*, sk_buff*, int)
    function sk_buff* __skb_recv_datagram(sock*, unsigned int, void ()*, int*, int*)
    function sk_buff* __skb_recv_udp(sock*, unsigned int, int, int*, int*)
    function sk_buff* __skb_try_recv_datagram(sock*, unsigned int, void ()*, int*, int*, sk_buff**)
    function void __skb_tstamp_tx(sk_buff*, skb_shared_hwtstamps*, sock*, int)
    function int __skb_wait_for_more_packets(sock*, int*, long int*, const sk_buff*)
    function int __sock_cmsg_send(sock*, msghdr*, cmsghdr*, sockcm_cookie*)
    function int __sock_create(net*, int, int, int, socket**, int)
    function int __sock_queue_rcv_skb(sock*, sk_buff*)
    function void __sock_recv_timestamp(msghdr*, sock*, sk_buff*)
    function void __sock_recv_ts_and_drops(msghdr*, sock*, sk_buff*)
    function void __sock_recv_wifi_status(msghdr*, sock*, sk_buff*)
    function int __tcf_em_tree_match(sk_buff*, tcf_ematch_tree*, tcf_pkt_info*)
    function int __tcf_idr_release(tc_action*, bool, bool)
    function void __tcp_send_ack(sock*, u32)
    function sock* __udp4_lib_lookup(net*, __be32, __be16, __be32, __be16, int, int, udp_table*, sk_buff*)
    function sock* __udp6_lib_lookup(net*, const in6_addr*, __be16, const in6_addr*, __be16, int, int, udp_table*, sk_buff*)
    function int __udp_disconnect(sock*, int)
    function int __udp_enqueue_schedule_skb(sock*, sk_buff*)
    function int __vsock_core_init(const vsock_transport*, module*)
    function sock* __vsock_create(net*, socket*, sock*, gfp_t, unsigned short int, int)
    function dst_entry* __xfrm_dst_lookup(net*, int, int, const xfrm_address_t*, const xfrm_address_t*, int, u32)
    function int __xfrm_init_state(xfrm_state*, bool, bool)
    function int __xfrm_policy_check(sock*, int, sk_buff*, unsigned short int)
    function int __xfrm_state_delete(xfrm_state*)
    function void __xfrm_state_destroy(xfrm_state*, bool)
    function int __zerocopy_sg_from_iter(sock*, sk_buff*, iov_iter*, size_t)
    function void addrconf_add_linklocal(inet6_dev*, const in6_addr*, u32)
    function int addrconf_prefix_rcv_add_addr(net*, net_device*, const prefix_info*, inet6_dev*, const in6_addr*, int, u32, bool, bool, __u32, u32)
    function sk_buff* alloc_can_err_skb(net_device*, can_frame**)
    function sk_buff* alloc_can_skb(net_device*, can_frame**)
    function net_device* alloc_candev_mqs(int, unsigned int, unsigned int, unsigned int)
    function sk_buff* alloc_canfd_skb(net_device*, canfd_frame**)
    function net_device* alloc_etherdev_mqs(int, unsigned int, unsigned int)
    function net_device* alloc_netdev_mqs(int, const char*, unsigned char, void ()*, unsigned int, unsigned int)
    function bool arch_bpf_jit_check_func(const bpf_prog*)
    function sk_buff* arp_create(int, int, __be32, net_device*, __be32, const unsigned char*, const unsigned char*, const unsigned char*)
    function void arp_send(int, int, __be32, net_device*, __be32, const unsigned char*, const unsigned char*, const unsigned char*)
    function unsigned int arpt_do_table(sk_buff*, const nf_hook_state*, xt_table*)
    function int arpt_register_table(net*, const xt_table*, const arpt_replace*, const nf_hook_ops*, xt_table**)
    function void arpt_unregister_table(net*, xt_table*, const nf_hook_ops*)
    function bpf_offload_dev* bpf_offload_dev_create(const bpf_prog_offload_ops*, void*)
    function bool bpf_offload_dev_match(bpf_prog*, net_device*)
    function int bpf_offload_dev_netdev_register(bpf_offload_dev*, net_device*)
    function void bpf_offload_dev_netdev_unregister(bpf_offload_dev*, net_device*)
    function bpf_prog* bpf_prog_add(bpf_prog*, int)
    function bpf_prog* bpf_prog_alloc(unsigned int, gfp_t)
    function int bpf_prog_create(bpf_prog**, sock_fprog_kern*)
    function int bpf_prog_create_from_user(bpf_prog**, sock_fprog*, bpf_aux_classic_check_t, bool)
    function void bpf_prog_destroy(bpf_prog*)
    function void bpf_prog_free(bpf_prog*)
    function bpf_prog* bpf_prog_get_type_dev(u32, bpf_prog_type, bool)
    function bpf_prog* bpf_prog_get_type_path(const char*, bpf_prog_type)
    function bpf_prog* bpf_prog_inc(bpf_prog*)
    function bpf_prog* bpf_prog_inc_not_zero(bpf_prog*)
    function void bpf_prog_put(bpf_prog*)
    function bpf_prog* bpf_prog_select_runtime(bpf_prog*, int*)
    function void bpf_prog_sub(bpf_prog*, int)
    function void bpf_trace_run1(bpf_prog*, u64)
    function void bpf_trace_run10(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run11(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run12(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run2(bpf_prog*, u64, u64)
    function void bpf_trace_run3(bpf_prog*, u64, u64, u64)
    function void bpf_trace_run4(bpf_prog*, u64, u64, u64, u64)
    function void bpf_trace_run5(bpf_prog*, u64, u64, u64, u64, u64)
    function void bpf_trace_run6(bpf_prog*, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run7(bpf_prog*, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run8(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_trace_run9(bpf_prog*, u64, u64, u64, u64, u64, u64, u64, u64, u64)
    function void bpf_verifier_log_write(bpf_verifier_env*, const char*, ...)
    function int br_dev_queue_push_xmit(net*, sock*, sk_buff*)
    function void br_fdb_clear_offload(const net_device*, u16)
    function net_device* br_fdb_find_port(const net_device*, const unsigned char*, __u16)
    function void br_forward(const net_bridge_port*, sk_buff*, bool, bool)
    function int br_forward_finish(net*, sock*, sk_buff*)
    function int br_handle_frame_finish(net*, sock*, sk_buff*)
    function int br_ip6_fragment(net*, sock*, sk_buff*, nf_bridge_frag_data*, void ()*)
    function bool br_multicast_enabled(const net_device*)
    function bool br_multicast_has_querier_adjacent(net_device*, int)
    function bool br_multicast_has_querier_anywhere(net_device*, int)
    function int br_multicast_list_adjacent(net_device*, list_head*)
    function bool br_multicast_router(const net_device*)
    function bool br_port_flag_is_set(const net_device*, unsigned long int)
    function void brioctl_set(void ()*)
    function sock* bt_accept_dequeue(sock*, socket*)
    function void bt_accept_enqueue(sock*, sock*, bool)
    function void bt_accept_unlink(sock*)
    function void bt_procfs_cleanup(net*, const char*)
    function int bt_procfs_init(net*, const char*, bt_sock_list*, void ()*)
    function int bt_sock_ioctl(socket*, unsigned int, unsigned long int)
    function void bt_sock_link(bt_sock_list*, sock*)
    function __poll_t bt_sock_poll(file*, socket*, poll_table*)
    function void bt_sock_reclassify_lock(sock*, int)
    function int bt_sock_recvmsg(socket*, msghdr*, size_t, int)
    function int bt_sock_register(int, const net_proto_family*)
    function int bt_sock_stream_recvmsg(socket*, msghdr*, size_t, int)
    function void bt_sock_unlink(bt_sock_list*, sock*)
    function int bt_sock_wait_ready(sock*, unsigned long int)
    function int bt_sock_wait_state(sock*, int, unsigned long int)
    function int call_fib_notifier(notifier_block*, net*, fib_event_type, fib_notifier_info*)
    function int call_fib_notifiers(net*, fib_event_type, fib_notifier_info*)
    function int call_netdevice_notifiers(unsigned long int, net_device*)
    function void can_bus_off(net_device*)
    function int can_change_mtu(net_device*, int)
    function void can_change_state(net_device*, can_frame*, can_state, can_state)
    function void can_free_echo_skb(net_device*, unsigned int)
    function unsigned int can_get_echo_skb(net_device*, unsigned int)
    function int can_proto_register(const can_proto*)
    function void can_proto_unregister(const can_proto*)
    function void can_put_echo_skb(sk_buff*, net_device*, unsigned int)
    function int can_rx_offload_add_fifo(net_device*, can_rx_offload*, unsigned int)
    function int can_rx_offload_add_timestamp(net_device*, can_rx_offload*)
    function void can_rx_offload_del(can_rx_offload*)
    function void can_rx_offload_enable(can_rx_offload*)
    function unsigned int can_rx_offload_get_echo_skb(can_rx_offload*, unsigned int, u32)
    function int can_rx_offload_irq_offload_fifo(can_rx_offload*)
    function int can_rx_offload_irq_offload_timestamp(can_rx_offload*, u64)
    function int can_rx_offload_queue_sorted(can_rx_offload*, sk_buff*, u32)
    function int can_rx_offload_queue_tail(can_rx_offload*, sk_buff*)
    function void can_rx_offload_reset(can_rx_offload*)
    function int can_rx_register(net*, net_device*, canid_t, canid_t, void ()*, void*, char*, sock*)
    function void can_rx_unregister(net*, net_device*, canid_t, canid_t, void ()*, void*)
    function void can_sock_destruct(sock*)
    function void cfg80211_abandon_assoc(net_device*, cfg80211_bss*)
    function void cfg80211_assoc_timeout(net_device*, cfg80211_bss*)
    function void cfg80211_auth_timeout(net_device*, const u8*)
    function void cfg80211_bss_iter(wiphy*, cfg80211_chan_def*, void ()*, void*)
    function void cfg80211_cac_event(net_device*, const cfg80211_chan_def*, nl80211_radar_event, gfp_t)
    function void cfg80211_ch_switch_notify(net_device*, cfg80211_chan_def*)
    function void cfg80211_ch_switch_started_notify(net_device*, cfg80211_chan_def*, u8)
    function int cfg80211_chandef_dfs_required(wiphy*, const cfg80211_chan_def*, nl80211_iftype)
    function bool cfg80211_chandef_usable(wiphy*, const cfg80211_chan_def*, u32)
    function int cfg80211_check_combinations(wiphy*, iface_combination_params*)
    function int cfg80211_check_station_change(wiphy*, station_parameters*, cfg80211_station_type)
    function void cfg80211_conn_failed(net_device*, const u8*, nl80211_connect_failed_reason, gfp_t)
    function void cfg80211_connect_done(net_device*, cfg80211_connect_resp_params*, gfp_t)
    function void cfg80211_cqm_beacon_loss_notify(net_device*, gfp_t)
    function void cfg80211_cqm_pktloss_notify(net_device*, const u8*, u32, gfp_t)
    function void cfg80211_cqm_rssi_notify(net_device*, nl80211_cqm_rssi_threshold_event, s32, gfp_t)
    function void cfg80211_cqm_txe_notify(net_device*, const u8*, u32, u32, u32, gfp_t)
    function void cfg80211_crit_proto_stopped(wireless_dev*, gfp_t)
    function void cfg80211_del_sta_sinfo(net_device*, const u8*, station_info*, gfp_t)
    function void cfg80211_disconnected(net_device*, u16, const u8*, size_t, bool, gfp_t)
    function int cfg80211_external_auth_request(net_device*, cfg80211_external_auth_params*, gfp_t)
    function void cfg80211_ft_event(net_device*, cfg80211_ft_event_params*)
    function cfg80211_bss* cfg80211_get_bss(wiphy*, ieee80211_channel*, const u8*, const u8*, size_t, ieee80211_bss_type, ieee80211_privacy)
    function void cfg80211_get_drvinfo(net_device*, ethtool_drvinfo*)
    function int cfg80211_get_station(net_device*, const u8*, station_info*)
    function void cfg80211_gtk_rekey_notify(net_device*, const u8*, const u8*, gfp_t)
    function void cfg80211_ibss_joined(net_device*, const u8*, ieee80211_channel*, gfp_t)
    function bool cfg80211_iftype_allowed(wiphy*, nl80211_iftype, bool, u8)
    function cfg80211_bss* cfg80211_inform_bss_data(wiphy*, cfg80211_inform_bss*, cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)
    function cfg80211_bss* cfg80211_inform_bss_frame_data(wiphy*, cfg80211_inform_bss*, ieee80211_mgmt*, size_t, gfp_t)
    function int cfg80211_iter_combinations(wiphy*, iface_combination_params*, void ()*, void*)
    function void cfg80211_mgmt_tx_status(wireless_dev*, u64, const u8*, size_t, bool, gfp_t)
    function void cfg80211_michael_mic_failure(net_device*, const u8*, nl80211_key_type, int, const u8*, gfp_t)
    function void cfg80211_nan_func_terminated(wireless_dev*, u8, nl80211_nan_func_term_reason, u64, gfp_t)
    function void cfg80211_nan_match(wireless_dev*, cfg80211_nan_match_params*, gfp_t)
    function void cfg80211_new_sta(net_device*, const u8*, station_info*, gfp_t)
    function void cfg80211_notify_new_peer_candidate(net_device*, const u8*, const u8*, u8, int, gfp_t)
    function void cfg80211_pmksa_candidate_notify(net_device*, int, const u8*, bool, gfp_t)
    function void cfg80211_pmsr_complete(wireless_dev*, cfg80211_pmsr_request*, gfp_t)
    function void cfg80211_pmsr_report(wireless_dev*, cfg80211_pmsr_request*, cfg80211_pmsr_result*, gfp_t)
    function void cfg80211_port_authorized(net_device*, const u8*, gfp_t)
    function void cfg80211_probe_status(net_device*, const u8*, u64, bool, s32, bool, gfp_t)
    function void cfg80211_put_bss(wiphy*, cfg80211_bss*)
    function void cfg80211_radar_event(wiphy*, cfg80211_chan_def*, gfp_t)
    function void cfg80211_ready_on_channel(wireless_dev*, u64, ieee80211_channel*, unsigned int, gfp_t)
    function void cfg80211_ref_bss(wiphy*, cfg80211_bss*)
    function bool cfg80211_reg_can_beacon(wiphy*, cfg80211_chan_def*, nl80211_iftype)
    function bool cfg80211_reg_can_beacon_relax(wiphy*, cfg80211_chan_def*, nl80211_iftype)
    function void cfg80211_remain_on_channel_expired(wireless_dev*, u64, ieee80211_channel*, gfp_t)
    function void cfg80211_report_obss_beacon(wiphy*, const u8*, size_t, int, int)
    function void cfg80211_report_wowlan_wakeup(wireless_dev*, cfg80211_wowlan_wakeup*, gfp_t)
    function void cfg80211_roamed(net_device*, cfg80211_roam_info*, gfp_t)
    function void cfg80211_rx_assoc_resp(net_device*, cfg80211_bss*, const u8*, size_t, int, const u8*, size_t)
    function bool cfg80211_rx_control_port(net_device*, sk_buff*, bool)
    function bool cfg80211_rx_mgmt(wireless_dev*, int, int, const u8*, size_t, u32)
    function void cfg80211_rx_mlme_mgmt(net_device*, const u8*, size_t)
    function bool cfg80211_rx_spurious_frame(net_device*, const u8*, gfp_t)
    function bool cfg80211_rx_unexpected_4addr_frame(net_device*, const u8*, gfp_t)
    function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)
    function void cfg80211_scan_done(cfg80211_scan_request*, cfg80211_scan_info*)
    function void cfg80211_sched_scan_results(wiphy*, u64)
    function void cfg80211_sched_scan_stopped(wiphy*, u64)
    function void cfg80211_sched_scan_stopped_rtnl(wiphy*, u64)
    function void cfg80211_send_layer2_update(net_device*, const u8*)
    function void cfg80211_shutdown_all_interfaces(wiphy*)
    function void cfg80211_sta_opmode_change_notify(net_device*, const u8*, sta_opmode_info*, gfp_t)
    function void cfg80211_stop_iface(wiphy*, wireless_dev*, gfp_t)
    function void cfg80211_tdls_oper_request(net_device*, const u8*, nl80211_tdls_operation, u16, gfp_t)
    function void cfg80211_tx_mgmt_expired(wireless_dev*, u64, ieee80211_channel*, gfp_t)
    function void cfg80211_tx_mlme_mgmt(net_device*, const u8*, size_t)
    function void cfg80211_unlink_bss(wiphy*, cfg80211_bss*)
    function void cfg80211_unregister_wdev(wireless_dev*)
    function void cfg80211_update_owe_info_event(net_device*, cfg80211_update_owe_info*, gfp_t)
    function unsigned int cfg80211_vendor_cmd_get_sender(wiphy*)
    function void close_candev(net_device*)
    function int compat_ip_getsockopt(sock*, int, int, char*, int*)
    function int compat_ip_setsockopt(sock*, int, int, char*, unsigned int)
    function int compat_ipv6_getsockopt(sock*, int, int, char*, int*)
    function int compat_ipv6_setsockopt(sock*, int, int, char*, unsigned int)
    function int compat_mc_getsockopt(sock*, int, int, char*, int*, void ()*)
    function int compat_mc_setsockopt(sock*, int, int, char*, unsigned int, void ()*)
    function int compat_nf_getsockopt(sock*, u_int8_t, int, char*, int*)
    function int compat_nf_setsockopt(sock*, u_int8_t, int, char*, unsigned int)
    function int compat_sock_common_getsockopt(socket*, int, int, char*, int*)
    function int compat_sock_common_setsockopt(socket*, int, int, char*, unsigned int)
    function int compat_tcp_getsockopt(sock*, int, int, char*, int*)
    function int compat_tcp_setsockopt(sock*, int, int, char*, unsigned int)
    function __poll_t datagram_poll(file*, socket*, poll_table*)
    function void dev_activate(net_device*)
    function void dev_add_pack(packet_type*)
    function int dev_addr_add(net_device*, const unsigned char*, unsigned char)
    function int dev_addr_del(net_device*, const unsigned char*, unsigned char)
    function void dev_addr_flush(net_device*)
    function int dev_addr_init(net_device*)
    function int dev_alloc_name(net_device*, const char*)
    function int dev_change_carrier(net_device*, bool)
    function int dev_change_flags(net_device*, unsigned int, netlink_ext_ack*)
    function int dev_change_net_namespace(net_device*, net*, const char*)
    function int dev_change_proto_down(net_device*, bool)
    function int dev_change_proto_down_generic(net_device*, bool)
    function void dev_close(net_device*)
    function void dev_deactivate(net_device*)
    function void dev_disable_lro(net_device*)
    function int dev_fill_metadata_dst(net_device*, sk_buff*)
    function int dev_forward_skb(net_device*, sk_buff*)
    function net_device* dev_get_by_index(net*, int)
    function net_device* dev_get_by_index_rcu(net*, int)
    function net_device* dev_get_by_name(net*, const char*)
    function net_device* dev_get_by_name_rcu(net*, const char*)
    function net_device* dev_get_by_napi_id(unsigned int)
    function unsigned int dev_get_flags(const net_device*)
    function int dev_get_iflink(const net_device*)
    function int dev_get_phys_port_id(net_device*, netdev_phys_item_id*)
    function int dev_get_phys_port_name(net_device*, char*, size_t)
    function int dev_get_port_parent_id(net_device*, netdev_phys_item_id*, bool)
    function rtnl_link_stats64* dev_get_stats(net_device*, rtnl_link_stats64*)
    function int dev_get_valid_name(net*, net_device*, const char*)
    function net_device* dev_getbyhwaddr_rcu(net*, unsigned short int, const char*)
    function net_device* dev_getfirstbyhwtype(net*, unsigned short int)
    function Qdisc* dev_graft_qdisc(netdev_queue*, Qdisc*)
    function void dev_load(net*, const char*)
    function int dev_loopback_xmit(net*, sock*, sk_buff*)
    function int dev_mc_add(net_device*, const unsigned char*)
    function int dev_mc_add_excl(net_device*, const unsigned char*)
    function int dev_mc_add_global(net_device*, const unsigned char*)
    function int dev_mc_del(net_device*, const unsigned char*)
    function int dev_mc_del_global(net_device*, const unsigned char*)
    function void dev_mc_flush(net_device*)
    function void dev_mc_init(net_device*)
    function int dev_mc_sync(net_device*, net_device*)
    function int dev_mc_sync_multiple(net_device*, net_device*)
    function void dev_mc_unsync(net_device*, net_device*)
    function bool dev_nit_active(net_device*)
    function int dev_open(net_device*, netlink_ext_ack*)
    function u16 dev_pick_tx_cpu_id(net_device*, sk_buff*, net_device*)
    function u16 dev_pick_tx_zero(net_device*, sk_buff*, net_device*)
    function int dev_pre_changeaddr_notify(net_device*, const char*, netlink_ext_ack*)
    function int dev_queue_xmit_accel(sk_buff*, net_device*)
    function void dev_queue_xmit_nit(sk_buff*, net_device*)
    function void dev_remove_pack(packet_type*)
    function int dev_set_alias(net_device*, const char*, size_t)
    function int dev_set_allmulti(net_device*, int)
    function void dev_set_group(net_device*, int)
    function int dev_set_mac_address(net_device*, sockaddr*, netlink_ext_ack*)
    function int dev_set_mtu(net_device*, int)
    function int dev_set_promiscuity(net_device*, int)
    function unsigned long int dev_trans_start(net_device*)
    function int dev_uc_add(net_device*, const unsigned char*)
    function int dev_uc_add_excl(net_device*, const unsigned char*)
    function int dev_uc_del(net_device*, const unsigned char*)
    function void dev_uc_flush(net_device*)
    function void dev_uc_init(net_device*)
    function int dev_uc_sync(net_device*, net_device*)
    function int dev_uc_sync_multiple(net_device*, net_device*)
    function void dev_uc_unsync(net_device*, net_device*)
    function net_device* devm_alloc_etherdev_mqs(device*, int, unsigned int, unsigned int)
    function ssize_t do_tcp_sendpages(sock*, page*, int, size_t, int)
    function int do_xdp_generic(bpf_prog*, sk_buff*)
    function void* dst_alloc(dst_ops*, net_device*, int, int, unsigned short int)
    function dst_entry* dst_cache_get(dst_cache*)
    function rtable* dst_cache_get_ip4(dst_cache*, __be32*)
    function dst_entry* dst_cache_get_ip6(dst_cache*, in6_addr*)
    function void dst_cache_set_ip4(dst_cache*, dst_entry*, __be32)
    function void dst_cache_set_ip6(dst_cache*, dst_entry*, const in6_addr*)
    function u32* dst_cow_metrics_generic(dst_entry*, unsigned long int)
    function dst_entry* dst_destroy(dst_entry*)
    function void dst_dev_put(dst_entry*)
    function int dst_discard_out(net*, sock*, sk_buff*)
    function void dst_init(dst_entry*, dst_ops*, net_device*, int, int, unsigned short int)
    function void dst_release(dst_entry*)
    function void dst_release_immediate(dst_entry*)
    function int esp6_output_head(xfrm_state*, sk_buff*, esp_info*)
    function int esp6_output_tail(xfrm_state*, sk_buff*, esp_info*)
    function int esp_output_head(xfrm_state*, sk_buff*, esp_info*)
    function int esp_output_tail(xfrm_state*, sk_buff*, esp_info*)
    function int eth_change_mtu(net_device*, int)
    function void eth_commit_mac_addr_change(net_device*, void*)
    function u32 eth_get_headlen(const net_device*, void*, unsigned int)
    function int eth_header(sk_buff*, net_device*, unsigned short int, void*, void*, unsigned int)
    function int eth_header_cache(const neighbour*, hh_cache*, __be16)
    function void eth_header_cache_update(hh_cache*, const net_device*, const unsigned char*)
    function int eth_mac_addr(net_device*, void*)
    function int eth_prepare_mac_addr_change(net_device*, void*)
    function __be16 eth_type_trans(sk_buff*, net_device*)
    function int eth_validate_addr(net_device*)
    function void ether_setup(net_device*)
    function u32 ethtool_op_get_link(net_device*)
    function int ethtool_op_get_ts_info(net_device*, ethtool_ts_info*)
    function ethtool_rx_flow_rule* ethtool_rx_flow_rule_create(const ethtool_rx_flow_spec_input*)
    function void ethtool_rx_flow_rule_destroy(ethtool_rx_flow_rule*)
    function failover* failover_register(net_device*, failover_ops*)
    function int failover_slave_unregister(net_device*)
    function void failover_unregister(failover*)
    function bool fib4_rule_default(const fib_rule*)
    function int fib6_check_nexthop(nexthop*, fib6_config*, netlink_ext_ack*)
    function fib6_table* fib6_get_table(net*, u32)
    function fib6_table* fib6_new_table(net*, u32)
    function bool fib6_rule_default(const fib_rule*)
    function int fib_add_nexthop(sk_buff*, const fib_nh_common*, int, u8)
    function int fib_default_rule_add(fib_rules_ops*, u32, u32, u32)
    function bool fib_info_nh_uses_dev(fib_info*, const net_device*)
    function fib_table* fib_new_table(net*, u32)
    function int fib_nexthop_info(sk_buff*, const fib_nh_common*, u8, unsigned char*, bool)
    function int fib_nh_common_init(fib_nh_common*, nlattr*, u16, void*, gfp_t, netlink_ext_ack*)
    function void fib_nh_common_release(fib_nh_common*)
    function fib_notifier_ops* fib_notifier_ops_register(const fib_notifier_ops*, net*)
    function void fib_notifier_ops_unregister(fib_notifier_ops*)
    function bool fib_rule_matchall(const fib_rule*)
    function int fib_rules_dump(net*, notifier_block*, int)
    function int fib_rules_lookup(fib_rules_ops*, flowi*, int, fib_lookup_arg*)
    function fib_rules_ops* fib_rules_register(const fib_rules_ops*, net*)
    function unsigned int fib_rules_seq_read(net*, int)
    function void fib_rules_unregister(fib_rules_ops*)
    function int fib_table_lookup(fib_table*, const flowi4*, fib_result*, int)
    function Qdisc* fifo_create_dflt(Qdisc*, Qdisc_ops*, unsigned int, netlink_ext_ack*)
    function int fifo_set_limit(Qdisc*, unsigned int)
    function int fixed_phy_change_carrier(net_device*, bool)
    function phy_device* fixed_phy_register(unsigned int, fixed_phy_status*, device_node*)
    function phy_device* fixed_phy_register_with_gpiod(unsigned int, fixed_phy_status*, gpio_desc*)
    function int fixed_phy_set_link_update(phy_device*, void ()*)
    function void fixed_phy_unregister(phy_device*)
    function ipv6_txoptions* fl6_merge_options(ipv6_txoptions*, ip6_flowlabel*, ipv6_txoptions*)
    function int flow_block_cb_setup_simple(flow_block_offload*, list_head*, flow_setup_cb_t*, void*, void*, bool)
    function void flow_indr_block_call(net_device*, flow_block_offload*, flow_block_command)
    function flow_rule* flow_rule_alloc(unsigned int)
    function void flow_rule_match_basic(const flow_rule*, flow_match_basic*)
    function void flow_rule_match_control(const flow_rule*, flow_match_control*)
    function void flow_rule_match_cvlan(const flow_rule*, flow_match_vlan*)
    function void flow_rule_match_enc_control(const flow_rule*, flow_match_control*)
    function void flow_rule_match_enc_ip(const flow_rule*, flow_match_ip*)
    function void flow_rule_match_enc_ipv4_addrs(const flow_rule*, flow_match_ipv4_addrs*)
    function void flow_rule_match_enc_ipv6_addrs(const flow_rule*, flow_match_ipv6_addrs*)
    function void flow_rule_match_enc_keyid(const flow_rule*, flow_match_enc_keyid*)
    function void flow_rule_match_enc_opts(const flow_rule*, flow_match_enc_opts*)
    function void flow_rule_match_enc_ports(const flow_rule*, flow_match_ports*)
    function void flow_rule_match_eth_addrs(const flow_rule*, flow_match_eth_addrs*)
    function void flow_rule_match_icmp(const flow_rule*, flow_match_icmp*)
    function void flow_rule_match_ip(const flow_rule*, flow_match_ip*)
    function void flow_rule_match_ipv4_addrs(const flow_rule*, flow_match_ipv4_addrs*)
    function void flow_rule_match_ipv6_addrs(const flow_rule*, flow_match_ipv6_addrs*)
    function void flow_rule_match_meta(const flow_rule*, flow_match_meta*)
    function void flow_rule_match_mpls(const flow_rule*, flow_match_mpls*)
    function void flow_rule_match_ports(const flow_rule*, flow_match_ports*)
    function void flow_rule_match_tcp(const flow_rule*, flow_match_tcp*)
    function void flow_rule_match_vlan(const flow_rule*, flow_match_vlan*)
    function void fqdir_exit(fqdir*)
    function int fqdir_init(fqdir**, inet_frags*, net*)
    function void free_candev(net_device*)
    function void free_fib_info(fib_info*)
    function void free_netdev(net_device*)
    function const ieee80211_reg_rule* freq_reg_info(wiphy*, u32)
    function int gen10g_config_aneg(phy_device*)
    function int generic_mii_ioctl(mii_if_info*, mii_ioctl_data*, int, unsigned int*)
    function void generic_xdp_tx(sk_buff*, bpf_prog*)
    function nlattr** genl_family_attrbuf(const genl_family*)
    function void genl_notify(const genl_family*, sk_buff*, genl_info*, u32, gfp_t)
    function int genl_register_family(genl_family*)
    function int genl_unregister_family(const genl_family*)
    function int genlmsg_multicast_allns(const genl_family*, sk_buff*, u32, unsigned int, gfp_t)
    function void* genlmsg_put(sk_buff*, u32, u32, const genl_family*, int, u8)
    function int genphy_c45_an_config_aneg(phy_device*)
    function int genphy_c45_an_disable_aneg(phy_device*)
    function int genphy_c45_aneg_done(phy_device*)
    function int genphy_c45_check_and_restart_aneg(phy_device*, bool)
    function int genphy_c45_config_aneg(phy_device*)
    function int genphy_c45_pma_read_abilities(phy_device*)
    function int genphy_c45_pma_setup_forced(phy_device*)
    function int genphy_c45_read_link(phy_device*)
    function int genphy_c45_read_lpa(phy_device*)
    function int genphy_c45_read_mdix(phy_device*)
    function int genphy_c45_read_pma(phy_device*)
    function int genphy_c45_read_status(phy_device*)
    function int genphy_c45_restart_aneg(phy_device*)
    function net* get_net_ns_by_fd(int)
    function net* get_net_ns_by_pid(pid_t)
    function void gro_cells_destroy(gro_cells*)
    function int gro_cells_init(gro_cells*, net_device*)
    function int gro_cells_receive(gro_cells*, sk_buff*)
    function int hci_mgmt_chan_register(hci_mgmt_chan*)
    function void hci_mgmt_chan_unregister(hci_mgmt_chan*)
    function ieee80211_hw* ieee80211_alloc_hw_nm(size_t, const ieee80211_ops*, const char*)
    function sk_buff* ieee80211_ap_probereq_get(ieee80211_hw*, ieee80211_vif*)
    function sk_buff* ieee80211_beacon_get_template(ieee80211_hw*, ieee80211_vif*, ieee80211_mutable_offsets*)
    function sk_buff* ieee80211_beacon_get_tim(ieee80211_hw*, ieee80211_vif*, u16*, u16*)
    function __le16 ieee80211_ctstoself_duration(ieee80211_hw*, ieee80211_vif*, size_t, const ieee80211_tx_info*)
    function void ieee80211_ctstoself_get(ieee80211_hw*, ieee80211_vif*, void*, size_t, const ieee80211_tx_info*, ieee80211_cts*)
    function ieee80211_sta* ieee80211_find_sta_by_ifaddr(ieee80211_hw*, const u8*, const u8*)
    function void ieee80211_free_hw(ieee80211_hw*)
    function void ieee80211_free_txskb(ieee80211_hw*, sk_buff*)
    function __le16 ieee80211_generic_frame_duration(ieee80211_hw*, ieee80211_vif*, nl80211_band, size_t, ieee80211_rate*)
    function sk_buff* ieee80211_get_buffered_bc(ieee80211_hw*, ieee80211_vif*)
    function ieee80211_channel* ieee80211_get_channel(wiphy*, int)
    function unsigned int ieee80211_get_num_supported_channels(wiphy*)
    function void ieee80211_iter_chan_contexts_atomic(ieee80211_hw*, void ()*, void*)
    function void ieee80211_iter_keys(ieee80211_hw*, ieee80211_vif*, void ()*, void*)
    function void ieee80211_iter_keys_rcu(ieee80211_hw*, ieee80211_vif*, void ()*, void*)
    function void ieee80211_iterate_active_interfaces_atomic(ieee80211_hw*, u32, void ()*, void*)
    function void ieee80211_iterate_active_interfaces_rtnl(ieee80211_hw*, u32, void ()*, void*)
    function void ieee80211_iterate_interfaces(ieee80211_hw*, u32, void ()*, void*)
    function void ieee80211_iterate_stations_atomic(ieee80211_hw*, void ()*, void*)
    function ieee80211_txq* ieee80211_next_txq(ieee80211_hw*, u8)
    function sk_buff* ieee80211_nullfunc_get(ieee80211_hw*, ieee80211_vif*, bool)
    function sk_buff* ieee80211_probereq_get(ieee80211_hw*, const u8*, const u8*, size_t, size_t)
    function sk_buff* ieee80211_proberesp_get(ieee80211_hw*, ieee80211_vif*)
    function sk_buff* ieee80211_pspoll_get(ieee80211_hw*, ieee80211_vif*)
    function void ieee80211_queue_delayed_work(ieee80211_hw*, delayed_work*, unsigned long int)
    function int ieee80211_queue_stopped(ieee80211_hw*, int)
    function void ieee80211_queue_work(ieee80211_hw*, work_struct*)
    function void ieee80211_radar_detected(ieee80211_hw*)
    function int ieee80211_rate_control_register(const rate_control_ops*)
    function void ieee80211_rate_control_unregister(const rate_control_ops*)
    function void ieee80211_ready_on_channel(ieee80211_hw*)
    function int ieee80211_register_hw(ieee80211_hw*)
    function void ieee80211_remain_on_channel_expired(ieee80211_hw*)
    function void ieee80211_restart_hw(ieee80211_hw*)
    function __le16 ieee80211_rts_duration(ieee80211_hw*, ieee80211_vif*, size_t, const ieee80211_tx_info*)
    function void ieee80211_rts_get(ieee80211_hw*, ieee80211_vif*, void*, size_t, const ieee80211_tx_info*, ieee80211_rts*)
    function void ieee80211_rx_irqsafe(ieee80211_hw*, sk_buff*)
    function void ieee80211_rx_napi(ieee80211_hw*, ieee80211_sta*, sk_buff*, napi_struct*)
    function void ieee80211_scan_completed(ieee80211_hw*, cfg80211_scan_info*)
    function void ieee80211_sched_scan_results(ieee80211_hw*)
    function void ieee80211_sched_scan_stopped(ieee80211_hw*)
    function void ieee80211_sta_block_awake(ieee80211_hw*, ieee80211_sta*, bool)
    function void ieee80211_stop_queue(ieee80211_hw*, int)
    function void ieee80211_stop_queues(ieee80211_hw*)
    function sk_buff* ieee80211_tx_dequeue(ieee80211_hw*, ieee80211_txq*)
    function bool ieee80211_tx_prepare_skb(ieee80211_hw*, ieee80211_vif*, sk_buff*, int, ieee80211_sta**)
    function void ieee80211_tx_rate_update(ieee80211_hw*, ieee80211_sta*, ieee80211_tx_info*)
    function void ieee80211_tx_status(ieee80211_hw*, sk_buff*)
    function void ieee80211_tx_status_ext(ieee80211_hw*, ieee80211_tx_status*)
    function void ieee80211_tx_status_irqsafe(ieee80211_hw*, sk_buff*)
    function bool ieee80211_txq_may_transmit(ieee80211_hw*, ieee80211_txq*)
    function void ieee80211_txq_schedule_start(ieee80211_hw*, u8)
    function void ieee80211_unregister_hw(ieee80211_hw*)
    function wireless_dev* ieee80211_vif_to_wdev(ieee80211_vif*)
    function void ieee80211_wake_queue(ieee80211_hw*, int)
    function void ieee80211_wake_queues(ieee80211_hw*)
    function void in_dev_finish_destroy(in_device*)
    function int inet6_bind(socket*, sockaddr*, int)
    function void inet6_csk_addr2sockaddr(sock*, sockaddr*)
    function dst_entry* inet6_csk_route_req(const sock*, flowi6*, const request_sock*, u8)
    function dst_entry* inet6_csk_update_pmtu(sock*, u32)
    function int inet6_csk_xmit(sock*, sk_buff*, flowi*)
    function void inet6_destroy_sock(sock*)
    function int inet6_getname(socket*, sockaddr*, int)
    function int inet6_hash(sock*)
    function int inet6_hash_connect(inet_timewait_death_row*, sock*)
    function int inet6_ioctl(socket*, unsigned int, unsigned long int)
    function sock* inet6_lookup(net*, inet_hashinfo*, sk_buff*, int, const in6_addr*, const __be16, const in6_addr*, const __be16, const int)
    function sock* inet6_lookup_listener(net*, inet_hashinfo*, sk_buff*, int, const in6_addr*, const __be16, const in6_addr*, const unsigned short int, const int, const int)
    function int inet6_register_protosw(inet_protosw*)
    function int inet6_release(socket*)
    function int inet6_sk_rebuild_header(sock*)
    function void inet6_unregister_protosw(inet_protosw*)
    function int inet_accept(socket*, socket*, int, bool)
    function unsigned int inet_addr_type(net*, __be32)
    function unsigned int inet_addr_type_dev_table(net*, const net_device*, __be32)
    function unsigned int inet_addr_type_table(net*, __be32, u32)
    function int inet_bind(socket*, sockaddr*, int)
    function __be32 inet_confirm_addr(net*, in_device*, __be32, __be32, int)
    function sock* inet_csk_accept(sock*, int, int*, bool)
    function void inet_csk_addr2sockaddr(sock*, sockaddr*)
    function void inet_csk_clear_xmit_timers(sock*)
    function sock* inet_csk_clone_lock(const sock*, const request_sock*, const gfp_t)
    function int inet_csk_compat_getsockopt(sock*, int, int, char*, int*)
    function int inet_csk_compat_setsockopt(sock*, int, int, char*, unsigned int)
    function sock* inet_csk_complete_hashdance(sock*, sock*, request_sock*, bool)
    function void inet_csk_delete_keepalive_timer(sock*)
    function void inet_csk_destroy_sock(sock*)
    function int inet_csk_get_port(sock*, unsigned short int)
    function void inet_csk_init_xmit_timers(sock*, void ()*, void ()*, void ()*)
    function int inet_csk_listen_start(sock*, int)
    function void inet_csk_listen_stop(sock*)
    function void inet_csk_prepare_forced_close(sock*)
    function sock* inet_csk_reqsk_queue_add(sock*, request_sock*, sock*)
    function void inet_csk_reqsk_queue_drop(sock*, request_sock*)
    function void inet_csk_reqsk_queue_drop_and_put(sock*, request_sock*)
    function void inet_csk_reqsk_queue_hash_add(sock*, request_sock*, unsigned long int)
    function void inet_csk_reset_keepalive_timer(sock*, unsigned long int)
    function dst_entry* inet_csk_route_child_sock(const sock*, sock*, const request_sock*)
    function dst_entry* inet_csk_route_req(const sock*, flowi4*, const request_sock*)
    function dst_entry* inet_csk_update_pmtu(sock*, u32)
    function int inet_ctl_sock_create(sock**, unsigned short int, unsigned short int, unsigned char, net*)
    function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)
    function int inet_dgram_connect(socket*, sockaddr*, int, int)
    function int inet_diag_bc_sk(const nlattr*, sock*)
    function sock* inet_diag_find_one_icsk(net*, inet_hashinfo*, const inet_diag_req_v2*)
    function int inet_diag_msg_attrs_fill(sock*, sk_buff*, inet_diag_msg*, int, user_namespace*, bool)
    function void inet_diag_msg_common_fill(inet_diag_msg*, sock*)
    function int inet_diag_register(const inet_diag_handler*)
    function void inet_diag_unregister(const inet_diag_handler*)
    function bool inet_ehash_nolisten(sock*, sock*)
    function inet_frag_queue* inet_frag_find(fqdir*, void*)
    function void inet_get_local_port_range(net*, int*, int*)
    function int inet_getname(socket*, sockaddr*, int)
    function int inet_hash(sock*)
    function int inet_hash_connect(inet_timewait_death_row*, sock*)
    function int inet_ioctl(socket*, unsigned int, unsigned long int)
    function int inet_listen(socket*, int)
    function int inet_pton_with_scope(net*, __kernel_sa_family_t, const char*, const char*, __kernel_sockaddr_storage*)
    function void inet_put_port(sock*)
    function bool inet_rcv_saddr_equal(const sock*, const sock*, bool)
    function int inet_recvmsg(socket*, msghdr*, size_t, int)
    function void inet_register_protosw(inet_protosw*)
    function int inet_release(socket*)
    function request_sock* inet_reqsk_alloc(const request_sock_ops*, sock*, bool)
    function int inet_rtx_syn_ack(const sock*, request_sock*)
    function __be32 inet_select_addr(const net_device*, __be32, int)
    function int inet_send_prepare(sock*)
    function int inet_sendmsg(socket*, msghdr*, size_t)
    function ssize_t inet_sendpage(socket*, page*, int, size_t, int)
    function int inet_shutdown(socket*, int)
    function int inet_sk_diag_fill(sock*, inet_connection_sock*, sk_buff*, const inet_diag_req_v2*, user_namespace*, u32, u32, u16, const nlmsghdr*, bool)
    function int inet_sk_rebuild_header(sock*)
    function void inet_sk_rx_dst_set(sock*, const sk_buff*)
    function void inet_sk_set_state(sock*, int)
    function void inet_sock_destruct(sock*)
    function int inet_stream_connect(socket*, sockaddr*, int, int)
    function inet_timewait_sock* inet_twsk_alloc(const sock*, inet_timewait_death_row*, const int)
    function void inet_twsk_hashdance(inet_timewait_sock*, sock*, inet_hashinfo*)
    function void inet_unhash(sock*)
    function void inet_unregister_protosw(inet_protosw*)
    function in_device* inetdev_by_index(net*, int)
    function int init_dummy_netdev(net_device*)
    function sock* io_uring_get_socket(file*)
    function int ip4_datagram_connect(sock*, sockaddr*, int)
    function void ip4_datagram_release_cb(sock*)
    function int ip6_append_data(sock*, void ()*, void*, int, int, ipcm6_cookie*, flowi6*, rt6_info*, unsigned int)
    function int ip6_datagram_connect(sock*, sockaddr*, int)
    function int ip6_datagram_connect_v6_only(sock*, sockaddr*, int)
    function void ip6_datagram_recv_ctl(sock*, msghdr*, sk_buff*)
    function void ip6_datagram_release_cb(sock*)
    function int ip6_datagram_send_ctl(net*, sock*, msghdr*, flowi6*, ipcm6_cookie*)
    function rt6_info* ip6_dst_alloc(net*, net_device*, int)
    function int ip6_dst_hoplimit(dst_entry*)
    function int ip6_dst_lookup(net*, sock*, dst_entry**, flowi6*)
    function dst_entry* ip6_dst_lookup_flow(const sock*, flowi6*, const in6_addr*)
    function void ip6_flush_pending_frames(sock*)
    function int ip6_local_out(net*, sock*, sk_buff*)
    function rt6_info* ip6_pol_route(net*, fib6_table*, int, flowi6*, const sk_buff*, int)
    function int ip6_push_pending_frames(sock*)
    function void ip6_redirect(sk_buff*, net*, int, u32, kuid_t)
    function dst_entry* ip6_route_input_lookup(net*, net_device*, flowi6*, const sk_buff*, int)
    function dst_entry* ip6_route_lookup(net*, flowi6*, const sk_buff*, int)
    function int ip6_route_me_harder(net*, sk_buff*)
    function dst_entry* ip6_route_output_flags(net*, const sock*, flowi6*, int)
    function dst_entry* ip6_route_output_flags_noref(net*, const sock*, flowi6*, int)
    function dst_entry* ip6_sk_dst_lookup_flow(sock*, flowi6*, const in6_addr*, bool)
    function void ip6_sk_redirect(sk_buff*, sock*)
    function void ip6_sk_update_pmtu(sk_buff*, sock*, __be32)
    function int ip6_tnl_change_mtu(net_device*, int)
    function int ip6_tnl_get_iflink(const net_device*)
    function net* ip6_tnl_get_link_net(const net_device*)
    function int ip6_tnl_rcv(ip6_tnl*, sk_buff*, const tnl_ptk_info*, metadata_dst*, bool)
    function int ip6_tnl_xmit(sk_buff*, net_device*, __u8, flowi6*, int, __u32*, __u8)
    function void ip6_update_pmtu(sk_buff*, net*, __be32, int, u32, kuid_t)
    function int ip6_xmit(const sock*, sk_buff*, flowi6*, __u32, ipv6_txoptions*, int, u32)
    function unsigned int ip6t_do_table(sk_buff*, const nf_hook_state*, xt_table*)
    function int ip6t_register_table(net*, const xt_table*, const ip6t_replace*, const nf_hook_ops*, xt_table**)
    function void ip6t_unregister_table(net*, xt_table*, const nf_hook_ops*)
    function int ip_build_and_send_pkt(sk_buff*, const sock*, __be32, __be32, ip_options_rcu*)
    function sk_buff* ip_check_defrag(net*, sk_buff*, u32)
    function void ip_cmsg_recv_offset(msghdr*, sock*, sk_buff*, int, int)
    function int ip_defrag(net*, sk_buff*, u32)
    function int ip_do_fragment(net*, sock*, sk_buff*, void ()*)
    function dst_metrics* ip_fib_metrics_init(net*, nlattr*, int, netlink_ext_ack*)
    function int ip_getsockopt(sock*, int, int, char*, int*)
    function int ip_local_out(net*, sock*, sk_buff*)
    function void ip_mc_inc_group(in_device*, __be32)
    function int ip_mc_join_group(sock*, ip_mreqn*)
    function int ip_mc_leave_group(sock*, ip_mreqn*)
    function void ip_md_tunnel_xmit(sk_buff*, net_device*, u8, int)
    function int ip_options_compile(net*, ip_options*, sk_buff*)
    function int ip_options_rcv_srr(sk_buff*, net_device*)
    function int ip_route_input_noref(sk_buff*, __be32, __be32, u8, net_device*)
    function int ip_route_me_harder(net*, sk_buff*, unsigned int)
    function rtable* ip_route_output_flow(net*, flowi4*, const sock*)
    function rtable* ip_route_output_key_hash(net*, flowi4*, const sk_buff*)
    function int ip_setsockopt(sock*, int, int, char*, unsigned int)
    function int ip_tunnel_change_mtu(net_device*, int)
    function int ip_tunnel_changelink(net_device*, nlattr**, ip_tunnel_parm*, __u32)
    function void ip_tunnel_delete_nets(list_head*, unsigned int, rtnl_link_ops*)
    function void ip_tunnel_dellink(net_device*, list_head*)
    function int ip_tunnel_encap_setup(ip_tunnel*, ip_tunnel_encap*)
    function int ip_tunnel_get_iflink(const net_device*)
    function net* ip_tunnel_get_link_net(const net_device*)
    function void ip_tunnel_get_stats64(net_device*, rtnl_link_stats64*)
    function int ip_tunnel_init(net_device*)
    function int ip_tunnel_init_net(net*, unsigned int, rtnl_link_ops*, char*)
    function int ip_tunnel_ioctl(net_device*, ip_tunnel_parm*, int)
    function ip_tunnel* ip_tunnel_lookup(ip_tunnel_net*, int, __be16, __be32, __be32, __be32)
    function int ip_tunnel_newlink(net_device*, nlattr**, ip_tunnel_parm*, __u32)
    function int ip_tunnel_rcv(ip_tunnel*, sk_buff*, const tnl_ptk_info*, metadata_dst*, bool)
    function void ip_tunnel_setup(net_device*, unsigned int)
    function void ip_tunnel_uninit(net_device*)
    function void ip_tunnel_xmit(sk_buff*, net_device*, const iphdr*, u8)
    function int ip_valid_fib_dump_req(net*, const nlmsghdr*, fib_dump_filter*, netlink_callback*)
    function void ipcomp_destroy(xfrm_state*)
    function int ipcomp_init_state(xfrm_state*)
    function int ipcomp_input(xfrm_state*, sk_buff*)
    function int ipcomp_output(xfrm_state*, sk_buff*)
    function unsigned int ipt_do_table(sk_buff*, const nf_hook_state*, xt_table*)
    function int ipt_register_table(net*, const xt_table*, const ipt_replace*, const nf_hook_ops*, xt_table**)
    function void ipt_unregister_table(net*, xt_table*, const nf_hook_ops*)
    function metadata_dst* iptunnel_metadata_reply(metadata_dst*, gfp_t)
    function void iptunnel_xmit(sock*, rtable*, sk_buff*, __be32, __be32, __u8, __u8, __u8, __be16, bool)
    function void ipv4_redirect(sk_buff*, net*, int, u8)
    function void ipv4_sk_redirect(sk_buff*, sock*)
    function void ipv4_sk_update_pmtu(sk_buff*, sock*, u32)
    function void ipv4_update_pmtu(sk_buff*, net*, u32, int, u8)
    function int ipv6_chk_addr(net*, const in6_addr*, const net_device*, int)
    function int ipv6_chk_addr_and_flags(net*, const in6_addr*, const net_device*, bool, int, u32)
    function bool ipv6_chk_custom_prefix(const in6_addr*, const unsigned int, net_device*)
    function int ipv6_chk_prefix(const in6_addr*, net_device*)
    function int ipv6_dev_get_saddr(net*, const net_device*, const in6_addr*, unsigned int, in6_addr*)
    function int ipv6_dev_mc_dec(net_device*, const in6_addr*)
    function int ipv6_dev_mc_inc(net_device*, const in6_addr*)
    function ipv6_txoptions* ipv6_dup_options(sock*, ipv6_txoptions*)
    function int ipv6_getsockopt(sock*, int, int, char*, int*)
    function bool ipv6_opt_accepted(const sock*, const sk_buff*, const inet6_skb_parm*)
    function __be32 ipv6_proxy_select_ident(net*, sk_buff*)
    function int ipv6_recv_error(sock*, msghdr*, int, int*)
    function __be32 ipv6_select_ident(net*, const in6_addr*, const in6_addr*)
    function int ipv6_setsockopt(sock*, int, int, char*, unsigned int)
    function int ipv6_sock_mc_drop(sock*, int, const in6_addr*)
    function int ipv6_sock_mc_join(sock*, int, const in6_addr*)
    function bool is_skb_forwardable(const net_device*, const sk_buff*)
    function int iw_handler_get_spy(net_device*, iw_request_info*, iwreq_data*, char*)
    function int iw_handler_get_thrspy(net_device*, iw_request_info*, iwreq_data*, char*)
    function int iw_handler_set_spy(net_device*, iw_request_info*, iwreq_data*, char*)
    function int iw_handler_set_thrspy(net_device*, iw_request_info*, iwreq_data*, char*)
    function int kernel_accept(socket*, socket**, int)
    function int kernel_bind(socket*, sockaddr*, int)
    function int kernel_connect(socket*, sockaddr*, int, int)
    function int kernel_getpeername(socket*, sockaddr*)
    function int kernel_getsockname(socket*, sockaddr*)
    function int kernel_getsockopt(socket*, int, int, char*, int*)
    function int kernel_listen(socket*, int)
    function int kernel_recvmsg(socket*, msghdr*, kvec*, size_t, size_t, int)
    function int kernel_sendmsg(socket*, msghdr*, kvec*, size_t, size_t)
    function int kernel_sendmsg_locked(sock*, msghdr*, kvec*, size_t, size_t)
    function int kernel_sendpage(socket*, page*, int, size_t, int)
    function int kernel_sendpage_locked(sock*, page*, int, size_t, int)
    function int kernel_setsockopt(socket*, int, int, char*, unsigned int)
    function u32 kernel_sock_ip_overhead(sock*)
    function int kernel_sock_shutdown(socket*, sock_shutdown_cmd)
    function int km_new_mapping(xfrm_state*, xfrm_address_t*, __be16)
    function void km_policy_notify(xfrm_policy*, int, const km_event*)
    function int km_query(xfrm_state*, xfrm_tmpl*, xfrm_policy*)
    function int km_report(net*, u8, xfrm_selector*, xfrm_address_t*)
    function void km_state_expired(xfrm_state*, int, u32)
    function void km_state_notify(xfrm_state*, const km_event*)
    function bool l2cap_is_socket(socket*)
    function void l2tp_recv_common(l2tp_session*, sk_buff*, unsigned char*, unsigned char*, u16, int)
    function l2tp_session* l2tp_session_create(int, l2tp_tunnel*, u32, u32, l2tp_session_cfg*)
    function int l2tp_session_delete(l2tp_session*)
    function void l2tp_session_free(l2tp_session*)
    function l2tp_session* l2tp_session_get(const net*, u32)
    function l2tp_session* l2tp_session_get_by_ifname(const net*, const char*)
    function l2tp_session* l2tp_session_get_nth(l2tp_tunnel*, int)
    function int l2tp_session_register(l2tp_session*, l2tp_tunnel*)
    function void l2tp_session_set_header_len(l2tp_session*, int)
    function int l2tp_tunnel_create(net*, int, int, u32, u32, l2tp_tunnel_cfg*, l2tp_tunnel**)
    function void l2tp_tunnel_delete(l2tp_tunnel*)
    function void l2tp_tunnel_free(l2tp_tunnel*)
    function l2tp_tunnel* l2tp_tunnel_get(const net*, u32)
    function l2tp_tunnel* l2tp_tunnel_get_nth(const net*, int)
    function l2tp_session* l2tp_tunnel_get_session(l2tp_tunnel*, u32)
    function int l2tp_tunnel_register(l2tp_tunnel*, net*, l2tp_tunnel_cfg*)
    function int l2tp_udp_encap_recv(sock*, sk_buff*)
    function int l2tp_xmit_skb(l2tp_session*, sk_buff*, int)
    function void linkwatch_fire_event(net_device*)
    function void llc_add_pack(int, void ()*)
    function int llc_build_and_send_ui_pkt(llc_sap*, sk_buff*, unsigned char*, unsigned char)
    function void llc_sap_close(llc_sap*)
    function llc_sap* llc_sap_find(unsigned char)
    function llc_sap* llc_sap_open(unsigned char, void ()*)
    function bool lock_sock_fast(sock*)
    function void lock_sock_nested(sock*, int)
    function phy_device* mdiobus_get_phy(mii_bus*, int)
    function phy_device* mdiobus_scan(mii_bus*, int)
    function metadata_dst* metadata_dst_alloc(u8, metadata_type, gfp_t)
    function metadata_dst* metadata_dst_alloc_percpu(u8, metadata_type, gfp_t)
    function void metadata_dst_free(metadata_dst*)
    function void metadata_dst_free_percpu(metadata_dst*)
    function int mii_check_gmii_support(mii_if_info*)
    function void mii_check_link(mii_if_info*)
    function unsigned int mii_check_media(mii_if_info*, unsigned int, unsigned int)
    function void mii_ethtool_get_link_ksettings(mii_if_info*, ethtool_link_ksettings*)
    function int mii_ethtool_gset(mii_if_info*, ethtool_cmd*)
    function int mii_ethtool_set_link_ksettings(mii_if_info*, const ethtool_link_ksettings*)
    function int mii_ethtool_sset(mii_if_info*, ethtool_cmd*)
    function int mii_link_ok(mii_if_info*)
    function int mii_nway_restart(mii_if_info*)
    function void mini_qdisc_pair_init(mini_Qdisc_pair*, Qdisc*, mini_Qdisc**)
    function void mini_qdisc_pair_swap(mini_Qdisc_pair*, tcf_proto*)
    function bool napi_complete_done(napi_struct*, int)
    function void napi_disable(napi_struct*)
    function sk_buff* napi_get_frags(napi_struct*)
    function void napi_gro_flush(napi_struct*, bool)
    function gro_result_t napi_gro_frags(napi_struct*)
    function gro_result_t napi_gro_receive(napi_struct*, sk_buff*)
    function bool napi_hash_del(napi_struct*)
    function bool napi_schedule_prep(napi_struct*)
    function int ndisc_mc_map(const in6_addr*, char*, net_device*, int)
    function int ndo_dflt_bridge_getlink(sk_buff*, u32, u32, net_device*, u16, u32, u32, int, u32, void ()*)
    function int ndo_dflt_fdb_add(ndmsg*, nlattr**, net_device*, const unsigned char*, u16, u16)
    function int ndo_dflt_fdb_del(ndmsg*, nlattr**, net_device*, const unsigned char*, u16)
    function int ndo_dflt_fdb_dump(sk_buff*, netlink_callback*, net_device*, net_device*, int*)
    function void neigh_app_ns(neighbour*)
    function int neigh_carrier_down(neigh_table*, net_device*)
    function void neigh_changeaddr(neigh_table*, net_device*)
    function int neigh_connected_output(neighbour*, sk_buff*)
    function void neigh_destroy(neighbour*)
    function int neigh_direct_output(neighbour*, sk_buff*)
    function neighbour* neigh_event_ns(neigh_table*, u8*, void*, net_device*)
    function void neigh_for_each(neigh_table*, void ()*, void*)
    function int neigh_ifdown(neigh_table*, net_device*)
    function neighbour* neigh_lookup(neigh_table*, void*, net_device*)
    function neighbour* neigh_lookup_nodev(neigh_table*, net*, void*)
    function neigh_parms* neigh_parms_alloc(net_device*, neigh_table*)
    function void neigh_parms_release(neigh_table*, neigh_parms*)
    function int neigh_resolve_output(neighbour*, sk_buff*)
    function void* neigh_seq_start(seq_file*, loff_t*, neigh_table*, unsigned int)
    function int neigh_sysctl_register(net_device*, neigh_parms*, proc_handler*)
    function void neigh_sysctl_unregister(neigh_parms*)
    function int neigh_table_clear(int, neigh_table*)
    function void neigh_table_init(int, neigh_table*)
    function int neigh_update(neighbour*, const u8*, u8, u32, u32)
    function int neigh_xmit(int, net_device*, void*, sk_buff*)
    function failover* net_failover_create(net_device*)
    function void net_failover_destroy(failover*)
    function void netdev_adjacent_change_abort(net_device*, net_device*, net_device*)
    function void netdev_adjacent_change_commit(net_device*, net_device*, net_device*)
    function int netdev_adjacent_change_prepare(net_device*, net_device*, net_device*, netlink_ext_ack*)
    function void netdev_alert(const net_device*, const char*, ...)
    function int netdev_bind_sb_channel_queue(net_device*, net_device*, u8, u16, u16)
    function void netdev_bonding_info_change(net_device*, netdev_bonding_info*)
    function int netdev_boot_setup_check(net_device*)
    function void netdev_change_features(net_device*)
    function void netdev_crit(const net_device*, const char*, ...)
    function void netdev_emerg(const net_device*, const char*, ...)
    function void netdev_err(const net_device*, const char*, ...)
    function void netdev_features_change(net_device*)
    function bool netdev_has_any_upper_dev(net_device*)
    function bool netdev_has_upper_dev(net_device*, net_device*)
    function bool netdev_has_upper_dev_all_rcu(net_device*, net_device*)
    function void netdev_info(const net_device*, const char*, ...)
    function bool netdev_is_rx_handler_busy(net_device*)
    function void* netdev_lower_dev_get_private(net_device*, net_device*)
    function void* netdev_lower_get_first_private_rcu(net_device*)
    function void* netdev_lower_get_next(net_device*, list_head**)
    function void* netdev_lower_get_next_private(net_device*, list_head**)
    function void* netdev_lower_get_next_private_rcu(net_device*, list_head**)
    function void netdev_lower_state_changed(net_device*, void*)
    function net_device* netdev_master_upper_dev_get(net_device*)
    function net_device* netdev_master_upper_dev_get_rcu(net_device*)
    function int netdev_master_upper_dev_link(net_device*, net_device*, void*, void*, netlink_ext_ack*)
    function void netdev_notice(const net_device*, const char*, ...)
    function void netdev_notify_peers(net_device*)
    function u16 netdev_pick_tx(net_device*, sk_buff*, net_device*)
    function bool netdev_port_same_parent_id(net_device*, net_device*)
    function void netdev_printk(const char*, const net_device*, const char*, ...)
    function int netdev_refcnt_read(const net_device*)
    function void netdev_reset_tc(net_device*)
    function void netdev_rx_csum_fault(net_device*, sk_buff*)
    function int netdev_rx_handler_register(net_device*, rx_handler_func_t*, void*)
    function void netdev_rx_handler_unregister(net_device*)
    function void netdev_set_default_ethtool_ops(net_device*, const ethtool_ops*)
    function int netdev_set_num_tc(net_device*, u8)
    function int netdev_set_sb_channel(net_device*, u16)
    function int netdev_set_tc_queue(net_device*, u8, u16, u16)
    function void netdev_state_change(net_device*)
    function int netdev_txq_to_tc(net_device*, unsigned int)
    function void netdev_unbind_sb_channel(net_device*, net_device*)
    function void netdev_update_features(net_device*)
    function void netdev_update_lockdep_key(net_device*)
    function int netdev_upper_dev_link(net_device*, net_device*, netlink_ext_ack*)
    function void netdev_upper_dev_unlink(net_device*, net_device*)
    function net_device* netdev_upper_get_next_dev_rcu(net_device*, list_head**)
    function int netdev_walk_all_lower_dev(net_device*, void ()*, void*)
    function int netdev_walk_all_lower_dev_rcu(net_device*, void ()*, void*)
    function int netdev_walk_all_upper_dev_rcu(net_device*, void ()*, void*)
    function void netdev_warn(const net_device*, const char*, ...)
    function void netif_carrier_off(net_device*)
    function void netif_carrier_on(net_device*)
    function void netif_device_attach(net_device*)
    function void netif_device_detach(net_device*)
    function void netif_napi_add(net_device*, napi_struct*, void ()*, int)
    function void netif_napi_del(napi_struct*)
    function void netif_schedule_queue(netdev_queue*)
    function int netif_set_real_num_rx_queues(net_device*, unsigned int)
    function int netif_set_real_num_tx_queues(net_device*, unsigned int)
    function int netif_set_xps_queue(net_device*, const cpumask*, u16)
    function void netif_stacked_transfer_operstate(const net_device*, net_device*)
    function void netif_tx_stop_all_queues(net_device*)
    function void netif_tx_wake_queue(netdev_queue*)
    function int netlink_add_tap(netlink_tap*)
    function int netlink_broadcast(sock*, sk_buff*, u32, u32, gfp_t)
    function int netlink_broadcast_filtered(sock*, sk_buff*, u32, u32, gfp_t, void ()*, void*)
    function int netlink_has_listeners(sock*, unsigned int)
    function void netlink_kernel_release(sock*)
    function int netlink_remove_tap(netlink_tap*)
    function int netlink_set_err(sock*, u32, u32, int)
    function int netlink_unicast(sock*, sk_buff*, u32, int)
    function nexthop* nexthop_find_by_id(net*, u32)
    function int nexthop_for_each_fib6_nh(nexthop*, void ()*, void*)
    function nexthop* nexthop_select_path(nexthop*, int)
    function int nf_conncount_add(net*, nf_conncount_list*, const nf_conntrack_tuple*, const nf_conntrack_zone*)
    function unsigned int nf_conncount_count(net*, nf_conncount_data*, const u32*, const nf_conntrack_tuple*, const nf_conntrack_zone*)
    function void nf_conncount_destroy(net*, unsigned int, nf_conncount_data*)
    function bool nf_conncount_gc_list(net*, nf_conncount_list*)
    function nf_conncount_data* nf_conncount_init(net*, unsigned int, unsigned int)
    function nf_conn* nf_conntrack_alloc(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*, const nf_conntrack_tuple*, gfp_t)
    function nf_conntrack_tuple_hash* nf_conntrack_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
    function unsigned int nf_conntrack_in(sk_buff*, const nf_hook_state*)
    function int nf_conntrack_register_notifier(net*, nf_ct_event_notifier*)
    function void nf_conntrack_unregister_notifier(net*, nf_ct_event_notifier*)
    function void nf_ct_bridge_register(nf_ct_bridge_info*)
    function void nf_ct_bridge_unregister(nf_ct_bridge_info*)
    function nf_conntrack_expect* nf_ct_expect_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)
    function void nf_ct_expect_iterate_net(net*, void ()*, void*, u32, int)
    function int nf_ct_expect_register_notifier(net*, nf_exp_event_notifier*)
    function void nf_ct_expect_unregister_notifier(net*, nf_exp_event_notifier*)
    function int nf_ct_frag6_gather(net*, sk_buff*, u32)
    function bool nf_ct_get_tuplepr(const sk_buff*, unsigned int, u_int16_t, net*, nf_conntrack_tuple*)
    function void nf_ct_iterate_cleanup_net(net*, void ()*, void*, u32, int)
    function const nf_conntrack_l4proto* nf_ct_l4proto_find(u8)
    function int nf_ct_netns_get(net*, u8)
    function void nf_ct_netns_put(net*, uint8_t)
    function nf_conn* nf_ct_tmpl_alloc(net*, const nf_conntrack_zone*, gfp_t)
    function void nf_ct_unconfirmed_destroy(net*)
    function int nf_defrag_ipv4_enable(net*)
    function int nf_defrag_ipv6_enable(net*)
    function int nf_getsockopt(sock*, u_int8_t, int, char*, int*)
    function void nf_hook_entries_delete_raw(nf_hook_entries**, const nf_hook_ops*)
    function int nf_hook_entries_insert_raw(nf_hook_entries**, const nf_hook_ops*)
    function int nf_hook_slow(sk_buff*, nf_hook_state*, const nf_hook_entries*, unsigned int)
    function int nf_ip_route(net*, dst_entry**, flowi*, bool)
    function void nf_l4proto_log_invalid(const sk_buff*, net*, u16, u8, const char*, ...)
    function int nf_log_bind_pf(net*, u_int8_t, const nf_logger*)
    function void nf_log_packet(net*, u_int8_t, unsigned int, const sk_buff*, const net_device*, const net_device*, const nf_loginfo*, const char*, ...)
    function int nf_log_set(net*, u_int8_t, const nf_logger*)
    function void nf_log_trace(net*, u_int8_t, unsigned int, const sk_buff*, const net_device*, const net_device*, const nf_loginfo*, const char*, ...)
    function void nf_log_unbind_pf(net*, u_int8_t)
    function void nf_log_unset(net*, const nf_logger*)
    function unsigned int nf_nat_inet_fn(void*, sk_buff*, const nf_hook_state*)
    function int nf_nat_ipv4_register_fn(net*, const nf_hook_ops*)
    function void nf_nat_ipv4_unregister_fn(net*, const nf_hook_ops*)
    function int nf_nat_ipv6_register_fn(net*, const nf_hook_ops*)
    function void nf_nat_ipv6_unregister_fn(net*, const nf_hook_ops*)
    function unsigned int nf_nat_masquerade_ipv4(sk_buff*, unsigned int, const nf_nat_range2*, const net_device*)
    function unsigned int nf_nat_masquerade_ipv6(sk_buff*, const nf_nat_range2*, const net_device*)
    function int nf_queue(sk_buff*, nf_hook_state*, unsigned int, unsigned int)
    function void nf_queue_entry_get_refs(nf_queue_entry*)
    function void nf_queue_entry_release_refs(nf_queue_entry*)
    function void nf_queue_nf_hook_drop(net*)
    function int nf_register_net_hook(net*, const nf_hook_ops*)
    function int nf_register_net_hooks(net*, const nf_hook_ops*, unsigned int)
    function void nf_register_queue_handler(net*, const nf_queue_handler*)
    function int nf_register_sockopt(nf_sockopt_ops*)
    function void nf_reinject(nf_queue_entry*, unsigned int)
    function int nf_route(net*, dst_entry**, flowi*, bool, unsigned short int)
    function void nf_send_reset(net*, sk_buff*, int)
    function void nf_send_reset6(net*, sk_buff*, int)
    function void nf_send_unreach6(net*, sk_buff*, unsigned char, unsigned int)
    function int nf_setsockopt(sock*, u_int8_t, int, char*, unsigned int)
    function sock* nf_sk_lookup_slow_v4(net*, const sk_buff*, const net_device*)
    function sock* nf_sk_lookup_slow_v6(net*, const sk_buff*, const net_device*)
    function sock* nf_tproxy_get_sock_v4(net*, sk_buff*, const u8, const __be32, const __be32, const __be16, const __be16, const net_device*, const nf_tproxy_lookup_t)
    function sock* nf_tproxy_get_sock_v6(net*, sk_buff*, int, const u8, const in6_addr*, const in6_addr*, const __be16, const __be16, const net_device*, const nf_tproxy_lookup_t)
    function sock* nf_tproxy_handle_time_wait4(net*, sk_buff*, __be32, __be16, sock*)
    function sock* nf_tproxy_handle_time_wait6(sk_buff*, int, int, net*, const in6_addr*, const __be16, sock*)
    function void nf_unregister_net_hook(net*, const nf_hook_ops*)
    function void nf_unregister_net_hooks(net*, const nf_hook_ops*, unsigned int)
    function void nf_unregister_queue_handler(net*)
    function void nf_unregister_sockopt(nf_sockopt_ops*)
    function int nf_xfrm_me_harder(net*, sk_buff*, unsigned int)
    function int nfnetlink_has_listeners(net*, unsigned int)
    function int nfnetlink_send(sk_buff*, net*, u32, unsigned int, int, gfp_t)
    function int nfnetlink_set_err(net*, u32, u32, int)
    function int nfnetlink_subsys_register(const nfnetlink_subsystem*)
    function int nfnetlink_subsys_unregister(const nfnetlink_subsystem*)
    function int nfnetlink_unicast(sk_buff*, net*, u32, int)
    function int nlmsg_notify(sock*, sk_buff*, u32, unsigned int, int, gfp_t)
    function void of_can_transceiver(net_device*)
    function net_device* of_find_net_device_by_node(device_node*)
    function phy_device* of_phy_attach(net_device*, device_node*, u32, phy_interface_t)
    function phy_device* of_phy_connect(net_device*, device_node*, void ()*, u32, phy_interface_t)
    function phy_device* of_phy_find_device(device_node*)
    function phy_device* of_phy_get_and_connect(net_device*, device_node*, void ()*)
    function int open_candev(net_device*)
    function netdev_features_t passthru_features_check(sk_buff*, net_device*, netdev_features_t)
    function int peernet2id(net*, net*)
    function int peernet2id_alloc(net*, net*, gfp_t)
    function phy_device* phy_attach(net_device*, const char*, phy_interface_t)
    function int phy_attach_direct(net_device*, phy_device*, u32, phy_interface_t)
    function phy_device* phy_connect(net_device*, const char*, void ()*, phy_interface_t)
    function int phy_connect_direct(net_device*, phy_device*, void ()*, phy_interface_t)
    function int phy_ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)
    function int phy_ethtool_nway_reset(net_device*)
    function int phy_ethtool_set_link_ksettings(net_device*, const ethtool_link_ksettings*)
    function int phy_modify(phy_device*, u32, u16, u16)
    function int phy_modify_changed(phy_device*, u32, u16, u16)
    function int phy_modify_mmd(phy_device*, int, u32, u16, u16)
    function int phy_modify_mmd_changed(phy_device*, int, u32, u16, u16)
    function int phy_modify_paged(phy_device*, int, u32, u16, u16)
    function int phy_modify_paged_changed(phy_device*, int, u32, u16, u16)
    function int phy_read_mmd(phy_device*, int, u32)
    function int phy_read_paged(phy_device*, int, u32)
    function void phy_resolve_aneg_linkmode(phy_device*)
    function void phy_resolve_aneg_pause(phy_device*)
    function int phy_restore_page(phy_device*, int, int)
    function int phy_save_page(phy_device*)
    function int phy_select_page(phy_device*, int)
    function int phy_set_max_speed(phy_device*, u32)
    function int phy_write_mmd(phy_device*, int, u32, u16)
    function int phy_write_paged(phy_device*, int, u32, u16)
    function int ping_bind(sock*, sockaddr*, int)
    function void ping_close(sock*, long int)
    function int ping_get_port(sock*, unsigned short int)
    function int ping_hash(sock*)
    function int ping_init_sock(sock*)
    function int ping_queue_rcv_skb(sock*, sk_buff*)
    function int ping_recvmsg(sock*, msghdr*, size_t, int, int, int*)
    function void ping_unhash(sock*)
    function void pneigh_enqueue(neigh_table*, neigh_parms*, sk_buff*)
    function pneigh_entry* pneigh_lookup(neigh_table*, net*, void*, net_device*, int)
    function int ppp_register_net_channel(net*, ppp_channel*)
    function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)
    function int pppox_ioctl(socket*, unsigned int, unsigned long int)
    function void pppox_unbind_sock(sock*)
    function void print_tuple(seq_file*, const nf_conntrack_tuple*, const nf_conntrack_l4proto*)
    function void qdisc_class_hash_grow(Qdisc*, Qdisc_class_hash*)
    function Qdisc* qdisc_create_dflt(netdev_queue*, const Qdisc_ops*, unsigned int, netlink_ext_ack*)
    function void qdisc_hash_add(Qdisc*, bool)
    function void qdisc_hash_del(Qdisc*)
    function int qdisc_offload_dump_helper(Qdisc*, tc_setup_type, void*)
    function void qdisc_offload_graft_helper(net_device*, Qdisc*, Qdisc*, Qdisc*, tc_setup_type, void*, netlink_ext_ack*)
    function void qdisc_put(Qdisc*)
    function void qdisc_put_unlocked(Qdisc*)
    function void qdisc_reset(Qdisc*)
    function void qdisc_tree_reduce_backlog(Qdisc*, int, int)
    function void qdisc_warn_nonwc(const char*, Qdisc*)
    function void qdisc_watchdog_cancel(qdisc_watchdog*)
    function void qdisc_watchdog_init(qdisc_watchdog*, Qdisc*)
    function void qdisc_watchdog_init_clockid(qdisc_watchdog*, Qdisc*, clockid_t)
    function void qdisc_watchdog_schedule_ns(qdisc_watchdog*, u64)
    function int rate_control_set_rates(ieee80211_hw*, ieee80211_sta*, ieee80211_sta_rates*)
    function int raw_abort(sock*, int)
    function int raw_hash_sk(sock*)
    function void raw_unhash_sk(sock*)
    function datalink_proto* register_8022_client(unsigned char, void ()*)
    function int register_candev(net_device*)
    function int register_gifconf(unsigned int, gifconf_func_t*)
    function ctl_table_header* register_net_sysctl(net*, const char*, ctl_table*)
    function int register_netdev(net_device*)
    function int register_netdevice(net_device*)
    function int register_pernet_device(pernet_operations*)
    function int register_pernet_subsys(pernet_operations*)
    function int register_pppox_proto(int, const pppox_proto*)
    function int register_qdisc(Qdisc_ops*)
    function datalink_proto* register_snap_client(const unsigned char*, void ()*)
    function int register_tcf_proto_ops(tcf_proto_ops*)
    function int regulatory_hint(wiphy*, const char*)
    function bool regulatory_pre_cac_allowed(wiphy*)
    function int regulatory_set_wiphy_regd(wiphy*, ieee80211_regdomain*)
    function int regulatory_set_wiphy_regd_sync_rtnl(wiphy*, ieee80211_regdomain*)
    function void release_sock(sock*)
    function int reuseport_add_sock(sock*, sock*, bool)
    function int reuseport_alloc(sock*, bool)
    function int reuseport_attach_prog(sock*, bpf_prog*)
    function int reuseport_detach_prog(sock*)
    function void reuseport_detach_sock(sock*)
    function sock* reuseport_select_sock(sock*, u32, sk_buff*, int)
    function bool rps_may_expire_flow(net_device*, u16, u32, u16)
    function rt6_info* rt6_lookup(net*, const in6_addr*, const in6_addr*, int, const sk_buff*, int)
    function rtable* rt_dst_alloc(net_device*, unsigned int, u16, bool, bool, bool)
    function rtable* rt_dst_clone(net_device*, rtable*)
    function void rtnl_af_register(rtnl_af_ops*)
    function void rtnl_af_unregister(rtnl_af_ops*)
    function int rtnl_configure_link(net_device*, const ifinfomsg*)
    function net_device* rtnl_create_link(net*, const char*, unsigned char, const rtnl_link_ops*, nlattr**, netlink_ext_ack*)
    function int rtnl_delete_link(net_device*)
    function net* rtnl_get_net_ns_capable(sock*, int)
    function net* rtnl_link_get_net(net*, nlattr**)
    function int rtnl_link_register(rtnl_link_ops*)
    function void rtnl_link_unregister(rtnl_link_ops*)
    function void rtnl_notify(sk_buff*, net*, u32, u32, nlmsghdr*, gfp_t)
    function int rtnl_put_cacheinfo(sk_buff*, dst_entry*, u32, long int, u32)
    function void rtnl_set_sk_err(net*, u32, int)
    function int rtnl_unicast(sk_buff*, net*, u32)
    function can_priv* safe_candev_priv(net_device*)
    function sec_path* secpath_set(sk_buff*)
    function u32 secure_tcpv6_ts_off(const net*, const __be32*, const __be32*)
    function void setup_udp_tunnel_sock(net*, socket*, udp_tunnel_sock_cfg*)
    function sock* sk_alloc(net*, int, gfp_t, proto*, int)
    function int sk_attach_filter(sock_fprog*, sock*)
    function bool sk_capable(const sock*, int)
    function void sk_clear_memalloc(sock*)
    function sock* sk_clone_lock(const sock*, const gfp_t)
    function void sk_common_release(sock*)
    function int sk_detach_filter(sock*)
    function dst_entry* sk_dst_check(sock*, u32)
    function int sk_filter_trim_cap(sock*, sk_buff*, unsigned int)
    function void sk_free(sock*)
    function void sk_free_unlock_clone(sock*)
    function bool sk_mc_loop(sock*)
    function bool sk_net_capable(const sock*, int)
    function bool sk_ns_capable(const sock*, user_namespace*, int)
    function bool sk_page_frag_refill(sock*, page_frag*)
    function void sk_reset_timer(sock*, timer_list*, unsigned long int)
    function void sk_send_sigurg(sock*)
    function void sk_set_memalloc(sock*)
    function int sk_set_peek_off(sock*, int)
    function void sk_setup_caps(sock*, dst_entry*)
    function void sk_stop_timer(sock*, timer_list*)
    function int sk_stream_error(sock*, int, int)
    function void sk_stream_kill_queues(sock*)
    function void sk_stream_wait_close(sock*, long int)
    function int sk_stream_wait_connect(sock*, long int*)
    function int sk_stream_wait_memory(sock*, long int*)
    function int sk_wait_data(sock*, long int*, const sk_buff*)
    function void skb_consume_udp(sock*, sk_buff*, int)
    function void skb_free_datagram(sock*, sk_buff*)
    function int skb_kill_datagram(sock*, sk_buff*, unsigned int)
    function sk_buff* skb_recv_datagram(sock*, unsigned int, int, int*)
    function int skb_send_sock_locked(sock*, sk_buff*, int, int)
    function void skb_set_owner_w(sk_buff*, sock*)
    function int skb_splice_bits(sk_buff*, sock*, unsigned int, pipe_inode_info*, unsigned int, unsigned int)
    function int skb_zerocopy_iter_stream(sock*, sk_buff*, msghdr*, int, ubuf_info*)
    function socket* sock_alloc()
    function file* sock_alloc_file(socket*, int, const char*)
    function sk_buff* sock_alloc_send_pskb(sock*, unsigned long int, unsigned long int, int, int*, int)
    function sk_buff* sock_alloc_send_skb(sock*, unsigned long int, int, int*)
    function int sock_cmsg_send(sock*, msghdr*, sockcm_cookie*)
    function int sock_common_getsockopt(socket*, int, int, char*, int*)
    function int sock_common_recvmsg(socket*, msghdr*, size_t, int)
    function int sock_common_setsockopt(socket*, int, int, char*, unsigned int)
    function int sock_create(int, int, int, socket**)
    function int sock_create_kern(net*, int, int, int, socket**)
    function int sock_create_lite(int, int, int, socket**)
    function sk_buff* sock_dequeue_err_skb(sock*)
    function int sock_diag_check_cookie(sock*, const __u32*)
    function int sock_diag_destroy(sock*, int)
    function int sock_diag_put_filterinfo(bool, sock*, sk_buff*, int)
    function int sock_diag_put_meminfo(sock*, sk_buff*, int)
    function int sock_diag_register(const sock_diag_handler*)
    function void sock_diag_save_cookie(sock*, __u32*)
    function void sock_diag_unregister(const sock_diag_handler*)
    function socket* sock_from_file(file*, int*)
    function void sock_gen_put(sock*)
    function int sock_gettstamp(socket*, void*, bool, bool)
    function unsigned long int sock_i_ino(sock*)
    function kuid_t sock_i_uid(sock*)
    function void sock_init_data(socket*, sock*)
    function int sock_inuse_get(net*)
    function void sock_kfree_s(sock*, void*, int)
    function void* sock_kmalloc(sock*, int, gfp_t)
    function void sock_kzfree_s(sock*, void*, int)
    function int sock_no_accept(socket*, socket*, int, bool)
    function int sock_no_bind(socket*, sockaddr*, int)
    function int sock_no_connect(socket*, sockaddr*, int, int)
    function int sock_no_getname(socket*, sockaddr*, int)
    function int sock_no_getsockopt(socket*, int, int, char*, int*)
    function int sock_no_ioctl(socket*, unsigned int, unsigned long int)
    function int sock_no_listen(socket*, int)
    function int sock_no_mmap(file*, socket*, vm_area_struct*)
    function int sock_no_recvmsg(socket*, msghdr*, size_t, int)
    function int sock_no_sendmsg(socket*, msghdr*, size_t)
    function int sock_no_sendmsg_locked(sock*, msghdr*, size_t)
    function ssize_t sock_no_sendpage(socket*, page*, int, size_t, int)
    function ssize_t sock_no_sendpage_locked(sock*, page*, int, size_t, int)
    function int sock_no_setsockopt(socket*, int, int, char*, unsigned int)
    function int sock_no_shutdown(socket*, int)
    function int sock_no_socketpair(socket*, socket*)
    function void sock_prot_inuse_add(net*, proto*, int)
    function int sock_prot_inuse_get(net*, proto*)
    function int sock_queue_err_skb(sock*, sk_buff*)
    function int sock_queue_rcv_skb(sock*, sk_buff*)
    function int sock_recv_errqueue(sock*, msghdr*, int, int, int)
    function int sock_recvmsg(socket*, msghdr*, int)
    function int sock_register(const net_proto_family*)
    function void sock_release(socket*)
    function int sock_sendmsg(socket*, msghdr*)
    function int sock_setsockopt(socket*, int, int, char*, unsigned int)
    function sk_buff* sock_wmalloc(sock*, unsigned long int, int, gfp_t)
    function ubuf_info* sock_zerocopy_alloc(sock*, size_t)
    function ubuf_info* sock_zerocopy_realloc(sock*, size_t, ubuf_info*)
    function socket* sockfd_lookup(int, int*)
    function int stp_proto_register(const stp_proto*)
    function void stp_proto_unregister(const stp_proto*)
    function void tc_cleanup_flow_action(flow_action*)
    function int tc_setup_cb_add(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, bool)
    function int tc_setup_cb_call(tcf_block*, tc_setup_type, void*, bool, bool)
    function int tc_setup_cb_destroy(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, bool)
    function int tc_setup_cb_reoffload(tcf_block*, tcf_proto*, bool, flow_setup_cb_t*, tc_setup_type, void*, void*, u32*, unsigned int*)
    function int tc_setup_cb_replace(tcf_block*, tcf_proto*, tc_setup_type, void*, bool, u32*, unsigned int*, u32*, unsigned int*, bool)
    function int tc_setup_flow_action(flow_action*, const tcf_exts*, bool)
    function int tcf_action_check_ctrlact(int, tcf_proto*, tcf_chain**, netlink_ext_ack*)
    function int tcf_action_dump_1(sk_buff*, tc_action*, int, int)
    function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)
    function tcf_chain* tcf_action_set_ctrlact(tc_action*, int, tcf_chain*)
    function int tcf_block_get(tcf_block**, tcf_proto**, Qdisc*, netlink_ext_ack*)
    function int tcf_block_get_ext(tcf_block**, Qdisc*, tcf_block_ext_info*, netlink_ext_ack*)
    function void tcf_block_netif_keep_dst(tcf_block*)
    function void tcf_block_put(tcf_block*)
    function void tcf_block_put_ext(tcf_block*, Qdisc*, tcf_block_ext_info*)
    function tcf_chain* tcf_chain_get_by_act(tcf_block*, u32)
    function void tcf_chain_put_by_act(tcf_chain*)
    function int tcf_classify(sk_buff*, const tcf_proto*, tcf_result*, bool)
    function int tcf_em_register(tcf_ematch_ops*)
    function void tcf_em_tree_destroy(tcf_ematch_tree*)
    function int tcf_em_tree_dump(sk_buff*, tcf_ematch_tree*, int)
    function int tcf_em_tree_validate(tcf_proto*, nlattr*, tcf_ematch_tree*)
    function void tcf_em_unregister(tcf_ematch_ops*)
    function void tcf_exts_change(tcf_exts*, tcf_exts*)
    function void tcf_exts_destroy(tcf_exts*)
    function int tcf_exts_dump(sk_buff*, tcf_exts*)
    function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)
    function unsigned int tcf_exts_num_actions(tcf_exts*)
    function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, bool, bool, netlink_ext_ack*)
    function int tcf_generic_walker(tc_action_net*, sk_buff*, netlink_callback*, int, const tc_action_ops*, netlink_ext_ack*)
    function tcf_chain* tcf_get_next_chain(tcf_block*, tcf_chain*)
    function tcf_proto* tcf_get_next_proto(tcf_chain*, tcf_proto*, bool)
    function int tcf_idr_check_alloc(tc_action_net*, u32*, tc_action**, int)
    function void tcf_idr_cleanup(tc_action_net*, u32)
    function int tcf_idr_create(tc_action_net*, u32, nlattr*, tc_action**, const tc_action_ops*, int, bool)
    function void tcf_idr_insert(tc_action_net*, tc_action*)
    function int tcf_idr_search(tc_action_net*, tc_action**, u32)
    function void tcf_idrinfo_destroy(const tc_action_ops*, tcf_idrinfo*)
    function int tcf_register_action(tc_action_ops*, pernet_operations*)
    function int tcf_unregister_action(tc_action_ops*, pernet_operations*)
    function int tcp_abort(sock*, int)
    function bool tcp_add_backlog(sock*, sk_buff*)
    function u32 tcp_ca_get_key_by_name(net*, const char*, bool*)
    function void tcp_ca_openreq_child(sock*, const dst_entry*)
    function sock* tcp_check_req(sock*, sk_buff*, request_sock*, bool, bool*)
    function int tcp_child_process(sock*, sock*, sk_buff*)
    function void tcp_close(sock*, long int)
    function void tcp_cong_avoid_ai(tcp_sock*, u32, u32)
    function int tcp_conn_request(request_sock_ops*, const tcp_request_sock_ops*, sock*, sk_buff*)
    function int tcp_connect(sock*)
    function sock* tcp_create_openreq_child(const sock*, request_sock*, sk_buff*)
    function int tcp_disconnect(sock*, int)
    function void tcp_done(sock*)
    function void tcp_enter_cwr(sock*)
    function void tcp_enter_memory_pressure(sock*)
    function void tcp_enter_quickack_mode(sock*, unsigned int)
    function bool tcp_fastopen_defer_connect(sock*, int*)
    function int tcp_filter(sock*, sk_buff*)
    function void tcp_get_info(sock*, tcp_info*)
    function u16 tcp_get_syncookie_mss(request_sock_ops*, const tcp_request_sock_ops*, sock*, tcphdr*)
    function int tcp_getsockopt(sock*, int, int, char*, int*)
    function void tcp_init_sock(sock*)
    function void tcp_initialize_rcv_mss(sock*)
    function int tcp_ioctl(sock*, int, unsigned long int)
    function void tcp_leave_memory_pressure(sock*)
    function sk_buff* tcp_make_synack(const sock*, dst_entry*, request_sock*, tcp_fastopen_cookie*, tcp_synack_type)
    function int tcp_mmap(file*, socket*, vm_area_struct*)
    function int tcp_mss_to_mtu(sock*, int)
    function void tcp_mtup_init(sock*)
    function void tcp_openreq_init_rwin(request_sock*, const sock*, const dst_entry*)
    function void tcp_parse_options(const net*, const sk_buff*, tcp_options_received*, int, tcp_fastopen_cookie*)
    function int tcp_peek_len(socket*)
    function __poll_t tcp_poll(file*, socket*, poll_table*)
    function void tcp_rate_check_app_limited(sock*)
    function void tcp_rcv_established(sock*, sk_buff*)
    function int tcp_rcv_state_process(sock*, sk_buff*)
    function int tcp_read_sock(sock*, read_descriptor_t*, sk_read_actor_t)
    function int tcp_recvmsg(sock*, msghdr*, size_t, int, int, int*)
    function int tcp_register_ulp(tcp_ulp_ops*)
    function void tcp_release_cb(sock*)
    function void tcp_reno_cong_avoid(sock*, u32, u32)
    function u32 tcp_reno_ssthresh(sock*)
    function u32 tcp_reno_undo_cwnd(sock*)
    function void tcp_req_err(sock*, u32, bool)
    function int tcp_rtx_synack(const sock*, request_sock*)
    function void tcp_select_initial_window(const sock*, int, __u32, __u32*, __u32*, int, __u8*, __u32)
    function int tcp_sendmsg(sock*, msghdr*, size_t)
    function int tcp_sendmsg_locked(sock*, msghdr*, size_t)
    function int tcp_sendpage(sock*, page*, int, size_t, int)
    function int tcp_sendpage_locked(sock*, page*, int, size_t, int)
    function void tcp_set_keepalive(sock*, int)
    function int tcp_set_rcvlowat(sock*, int)
    function void tcp_set_state(sock*, int)
    function int tcp_setsockopt(sock*, int, int, char*, unsigned int)
    function void tcp_shutdown(sock*, int)
    function void tcp_simple_retransmit(sock*)
    function u32 tcp_slow_start(tcp_sock*, u32)
    function ssize_t tcp_splice_read(socket*, loff_t*, pipe_inode_info*, size_t, unsigned int)
    function void tcp_syn_ack_timeout(const request_sock*)
    function unsigned int tcp_sync_mss(sock*, u32)
    function void tcp_time_wait(sock*, int, int)
    function void tcp_twsk_destructor(sock*)
    function int tcp_twsk_unique(sock*, sock*, void*)
    function void tcp_unregister_ulp(tcp_ulp_ops*)
    function int tcp_v4_conn_request(sock*, sk_buff*)
    function int tcp_v4_connect(sock*, sockaddr*, int)
    function void tcp_v4_destroy_sock(sock*)
    function int tcp_v4_do_rcv(sock*, sk_buff*)
    function void tcp_v4_mtu_reduced(sock*)
    function void tcp_v4_send_check(sock*, sk_buff*)
    function sock* tcp_v4_syn_recv_sock(const sock*, sk_buff*, request_sock*, dst_entry*, request_sock*, bool*)
    function int tipc_nl_sk_walk(sk_buff*, netlink_callback*, void ()*)
    function int tipc_sk_fill_sock_diag(sk_buff*, netlink_callback*, tipc_sock*, u32, void ()*)
    function socket* tun_get_socket(file*)
    function sock* udp4_lib_lookup(net*, __be32, __be16, __be32, __be16, int)
    function sock* udp4_lib_lookup_skb(sk_buff*, __be16, __be16)
    function sock* udp6_lib_lookup(net*, const in6_addr*, __be16, const in6_addr*, __be16, int)
    function sock* udp6_lib_lookup_skb(sk_buff*, __be16, __be16)
    function int udp_abort(sock*, int)
    function int udp_cmsg_send(sock*, msghdr*, u16*)
    function void udp_destruct_sock(sock*)
    function int udp_disconnect(sock*, int)
    function void udp_flush_pending_frames(sock*)
    function int udp_gro_complete(sk_buff*, int, udp_lookup_t)
    function sk_buff* udp_gro_receive(list_head*, sk_buff*, udphdr*, udp_lookup_t)
    function int udp_init_sock(sock*)
    function int udp_ioctl(sock*, int, unsigned long int)
    function int udp_lib_get_port(sock*, unsigned short int, unsigned int)
    function int udp_lib_getsockopt(sock*, int, int, char*, int*)
    function void udp_lib_rehash(sock*, u16)
    function int udp_lib_setsockopt(sock*, int, int, char*, unsigned int, void ()*)
    function void udp_lib_unhash(sock*)
    function __poll_t udp_poll(file*, socket*, poll_table*)
    function int udp_pre_connect(sock*, sockaddr*, int)
    function int udp_push_pending_frames(sock*)
    function int udp_sendmsg(sock*, msghdr*, size_t)
    function bool udp_sk_rx_dst_set(sock*, dst_entry*)
    function void udp_skb_destructor(sock*, sk_buff*)
    function int udp_sock_create4(net*, udp_port_cfg*, socket**)
    function int udp_sock_create6(net*, udp_port_cfg*, socket**)
    function metadata_dst* udp_tun_rx_dst(sk_buff*, unsigned short int, __be16, __be64, int)
    function int udp_tunnel6_xmit_skb(dst_entry*, sock*, sk_buff*, net_device*, in6_addr*, in6_addr*, __u8, __u8, __be32, __be16, __be16, bool)
    function void udp_tunnel_drop_rx_port(net_device*, socket*, unsigned short int)
    function void udp_tunnel_notify_add_rx_port(socket*, unsigned short int)
    function void udp_tunnel_notify_del_rx_port(socket*, unsigned short int)
    function void udp_tunnel_push_rx_port(net_device*, socket*, unsigned short int)
    function void udp_tunnel_sock_release(socket*)
    function void udp_tunnel_xmit_skb(rtable*, sock*, sk_buff*, __be32, __be32, __u8, __u8, __be16, __be16, __be16, bool, bool)
    function sock* unix_get_socket(file*)
    function long int unix_inq_len(sock*)
    function long int unix_outq_len(sock*)
    function sock* unix_peer_get(sock*)
    function void unregister_8022_client(datalink_proto*)
    function void unregister_candev(net_device*)
    function void unregister_netdev(net_device*)
    function void unregister_netdevice_queue(net_device*, list_head*)
    function void unregister_pernet_device(pernet_operations*)
    function void unregister_pernet_subsys(pernet_operations*)
    function int unregister_qdisc(Qdisc_ops*)
    function void unregister_snap_client(datalink_proto*)
    function int unregister_tcf_proto_ops(tcf_proto_ops*)
    function int usbnet_change_mtu(net_device*, int)
    function void usbnet_defer_kevent(usbnet*, int)
    function void usbnet_device_suggests_idle(usbnet*)
    function void usbnet_get_drvinfo(net_device*, ethtool_drvinfo*)
    function int usbnet_get_endpoints(usbnet*, usb_interface*)
    function int usbnet_get_ethernet_addr(usbnet*, int)
    function u32 usbnet_get_link(net_device*)
    function int usbnet_get_link_ksettings(net_device*, ethtool_link_ksettings*)
    function u32 usbnet_get_msglevel(net_device*)
    function void usbnet_get_stats64(net_device*, rtnl_link_stats64*)
    function void usbnet_link_change(usbnet*, bool, bool)
    function int usbnet_manage_power(usbnet*, int)
    function int usbnet_nway_reset(net_device*)
    function int usbnet_open(net_device*)
    function void usbnet_pause_rx(usbnet*)
    function void usbnet_purge_paused_rxq(usbnet*)
    function int usbnet_read_cmd(usbnet*, u8, u8, u16, u16, void*, u16)
    function int usbnet_read_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)
    function void usbnet_resume_rx(usbnet*)
    function int usbnet_set_link_ksettings(net_device*, const ethtool_link_ksettings*)
    function void usbnet_set_msglevel(net_device*, u32)
    function void usbnet_skb_return(usbnet*, sk_buff*)
    function netdev_tx_t usbnet_start_xmit(sk_buff*, net_device*)
    function int usbnet_status_start(usbnet*, gfp_t)
    function void usbnet_status_stop(usbnet*)
    function int usbnet_stop(net_device*)
    function void usbnet_tx_timeout(net_device*)
    function void usbnet_unlink_rx_urbs(usbnet*)
    function void usbnet_update_max_qlen(usbnet*)
    function int usbnet_write_cmd(usbnet*, u8, u8, u16, u16, void*, u16)
    function int usbnet_write_cmd_async(usbnet*, u8, u8, u16, u16, void*, u16)
    function int usbnet_write_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)
    function sk_buff* validate_xmit_skb_list(sk_buff*, net_device*, bool*)
    function int virt_wifi_register_network_simulation(virt_wifi_network_simulation*)
    function int virtio_transport_connect(vsock_sock*)
    function void virtio_transport_deliver_tap_pkt(virtio_vsock_pkt*)
    function void virtio_transport_destruct(vsock_sock*)
    function int virtio_transport_dgram_bind(vsock_sock*, sockaddr_vm*)
    function int virtio_transport_dgram_dequeue(vsock_sock*, msghdr*, size_t, int)
    function int virtio_transport_dgram_enqueue(vsock_sock*, sockaddr_vm*, msghdr*, size_t)
    function int virtio_transport_do_socket_init(vsock_sock*, vsock_sock*)
    function void virtio_transport_free_pkt(virtio_vsock_pkt*)
    function u64 virtio_transport_get_buffer_size(vsock_sock*)
    function u32 virtio_transport_get_credit(virtio_vsock_sock*, u32)
    function u64 virtio_transport_get_max_buffer_size(vsock_sock*)
    function u64 virtio_transport_get_min_buffer_size(vsock_sock*)
    function void virtio_transport_inc_tx_pkt(virtio_vsock_sock*, virtio_vsock_pkt*)
    function int virtio_transport_notify_poll_in(vsock_sock*, size_t, bool*)
    function int virtio_transport_notify_poll_out(vsock_sock*, size_t, bool*)
    function int virtio_transport_notify_recv_init(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
    function int virtio_transport_notify_recv_post_dequeue(vsock_sock*, size_t, ssize_t, bool, vsock_transport_recv_notify_data*)
    function int virtio_transport_notify_recv_pre_block(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
    function int virtio_transport_notify_recv_pre_dequeue(vsock_sock*, size_t, vsock_transport_recv_notify_data*)
    function int virtio_transport_notify_send_init(vsock_sock*, vsock_transport_send_notify_data*)
    function int virtio_transport_notify_send_post_enqueue(vsock_sock*, ssize_t, vsock_transport_send_notify_data*)
    function int virtio_transport_notify_send_pre_block(vsock_sock*, vsock_transport_send_notify_data*)
    function int virtio_transport_notify_send_pre_enqueue(vsock_sock*, vsock_transport_send_notify_data*)
    function void virtio_transport_put_credit(virtio_vsock_sock*, u32)
    function void virtio_transport_recv_pkt(virtio_vsock_pkt*)
    function void virtio_transport_release(vsock_sock*)
    function void virtio_transport_set_buffer_size(vsock_sock*, u64)
    function void virtio_transport_set_max_buffer_size(vsock_sock*, u64)
    function void virtio_transport_set_min_buffer_size(vsock_sock*, u64)
    function int virtio_transport_shutdown(vsock_sock*, int)
    function ssize_t virtio_transport_stream_dequeue(vsock_sock*, msghdr*, size_t, int)
    function ssize_t virtio_transport_stream_enqueue(vsock_sock*, msghdr*, size_t)
    function s64 virtio_transport_stream_has_data(vsock_sock*)
    function s64 virtio_transport_stream_has_space(vsock_sock*)
    function bool virtio_transport_stream_is_active(vsock_sock*)
    function u64 virtio_transport_stream_rcvhiwat(vsock_sock*)
    function void vlan_ioctl_set(void ()*)
    function void vsock_add_pending(sock*, sock*)
    function int vsock_add_tap(vsock_tap*)
    function const vsock_transport* vsock_core_get_transport()
    function void vsock_enqueue_accept(sock*, sock*)
    function sock* vsock_find_bound_socket(sockaddr_vm*)
    function sock* vsock_find_connected_socket(sockaddr_vm*, sockaddr_vm*)
    function void vsock_insert_connected(vsock_sock*)
    function void vsock_remove_bound(vsock_sock*)
    function void vsock_remove_connected(vsock_sock*)
    function void vsock_remove_pending(sock*, sock*)
    function void vsock_remove_sock(vsock_sock*)
    function int vsock_remove_tap(vsock_tap*)
    function s64 vsock_stream_has_data(vsock_sock*)
    function s64 vsock_stream_has_space(vsock_sock*)
    function ieee80211_vif* wdev_to_ieee80211_vif(wireless_dev*)
    function void wiphy_apply_custom_regulatory(wiphy*, const ieee80211_regdomain*)
    function void wiphy_free(wiphy*)
    function wiphy* wiphy_new_nm(const cfg80211_ops*, int, const char*)
    function void wiphy_read_of_freq_limits(wiphy*)
    function int wiphy_register(wiphy*)
    function void wiphy_rfkill_set_hw_state(wiphy*, bool)
    function void wiphy_rfkill_start_polling(wiphy*)
    function void wiphy_rfkill_stop_polling(wiphy*)
    function ieee80211_hw* wiphy_to_ieee80211_hw(wiphy*)
    function void wiphy_unregister(wiphy*)
    function void wireless_send_event(net_device*, unsigned int, iwreq_data*, const char*)
    function void wireless_spy_update(net_device*, unsigned char*, iw_quality*)
    function bool xdp_attachment_flags_ok(xdp_attachment_info*, netdev_bpf*)
    function int xdp_attachment_query(xdp_attachment_info*, netdev_bpf*)
    function void xdp_attachment_setup(xdp_attachment_info*, netdev_bpf*)
    function int xdp_do_generic_redirect(net_device*, sk_buff*, xdp_buff*, bpf_prog*)
    function int xdp_do_redirect(net_device*, xdp_buff*, bpf_prog*)
    function int xdp_rxq_info_reg(xdp_rxq_info*, net_device*, u32)
    function int xfrm6_find_1stfragopt(xfrm_state*, sk_buff*, u8**)
    function __be32 xfrm6_tunnel_alloc_spi(net*, xfrm_address_t*)
    function __be32 xfrm6_tunnel_spi_lookup(net*, const xfrm_address_t*)
    function int xfrm_alloc_spi(xfrm_state*, u32, u32)
    function void xfrm_audit_state_add(xfrm_state*, int, bool)
    function void xfrm_audit_state_delete(xfrm_state*, int, bool)
    function void xfrm_audit_state_icvfail(xfrm_state*, sk_buff*, u8)
    function void xfrm_audit_state_replay(xfrm_state*, sk_buff*, __be32)
    function void xfrm_audit_state_replay_overflow(xfrm_state*, sk_buff*)
    function int xfrm_dev_state_flush(net*, net_device*, bool)
    function void xfrm_dst_ifdown(dst_entry*, net_device*)
    function xfrm_state* xfrm_find_acq(net*, const xfrm_mark*, u8, u32, u32, u8, const xfrm_address_t*, const xfrm_address_t*, int, unsigned short int)
    function xfrm_state* xfrm_find_acq_byseq(net*, u32, u32)
    function void xfrm_if_register_cb(const xfrm_if_cb*)
    function int xfrm_init_replay(xfrm_state*)
    function int xfrm_init_state(xfrm_state*)
    function dst_entry* xfrm_lookup(net*, dst_entry*, const flowi*, const sock*, int)
    function dst_entry* xfrm_lookup_route(net*, dst_entry*, const flowi*, const sock*, int)
    function dst_entry* xfrm_lookup_with_ifid(net*, dst_entry*, const flowi*, const sock*, int, u32)
    function int xfrm_output(sock*, sk_buff*)
    function xfrm_policy* xfrm_policy_alloc(net*, gfp_t)
    function xfrm_policy* xfrm_policy_byid(net*, u32, u32, u8, int, u32, int, int*)
    function xfrm_policy* xfrm_policy_bysel_ctx(net*, u32, u32, u8, int, xfrm_selector*, xfrm_sec_ctx*, int, int*)
    function int xfrm_policy_flush(net*, u8, bool)
    function void xfrm_policy_hash_rebuild(net*)
    function int xfrm_policy_register_afinfo(const xfrm_policy_afinfo*, int)
    function void xfrm_policy_unregister_afinfo(const xfrm_policy_afinfo*)
    function int xfrm_policy_walk(net*, xfrm_policy_walk*, void ()*, void*)
    function void xfrm_policy_walk_done(xfrm_policy_walk*, net*)
    function int xfrm_register_km(xfrm_mgr*)
    function int xfrm_register_type(const xfrm_type*, unsigned short int)
    function int xfrm_register_type_offload(const xfrm_type_offload*, unsigned short int)
    function u32 xfrm_replay_seqhi(xfrm_state*, __be32)
    function void xfrm_sad_getinfo(net*, xfrmk_sadinfo*)
    function void xfrm_spd_getinfo(net*, xfrmk_spdinfo*)
    function int xfrm_state_add(xfrm_state*)
    function xfrm_state_afinfo* xfrm_state_afinfo_get_rcu(unsigned int)
    function xfrm_state* xfrm_state_alloc(net*)
    function int xfrm_state_check_expire(xfrm_state*)
    function int xfrm_state_delete(xfrm_state*)
    function void xfrm_state_delete_tunnel(xfrm_state*)
    function int xfrm_state_flush(net*, u8, bool, bool)
    function void xfrm_state_free(xfrm_state*)
    function void xfrm_state_insert(xfrm_state*)
    function xfrm_state* xfrm_state_lookup(net*, u32, const xfrm_address_t*, __be32, u8, unsigned short int)
    function xfrm_state* xfrm_state_lookup_byaddr(net*, u32, const xfrm_address_t*, const xfrm_address_t*, u8, unsigned short int)
    function xfrm_state* xfrm_state_lookup_byspi(net*, __be32, unsigned short int)
    function u32 xfrm_state_mtu(xfrm_state*, int)
    function int xfrm_state_register_afinfo(xfrm_state_afinfo*)
    function int xfrm_state_unregister_afinfo(xfrm_state_afinfo*)
    function int xfrm_state_update(xfrm_state*)
    function int xfrm_state_walk(net*, xfrm_state_walk*, void ()*, void*)
    function void xfrm_state_walk_done(xfrm_state_walk*, net*)
    function xfrm_state* xfrm_stateonly_find(net*, u32, u32, xfrm_address_t*, xfrm_address_t*, unsigned short int, u8, u8, u32)
    function int xfrm_trans_queue(sk_buff*, void ()*)
    function int xfrm_unregister_km(xfrm_mgr*)
    function void xfrm_unregister_type(const xfrm_type*, unsigned short int)
    function void xfrm_unregister_type_offload(const xfrm_type_offload*, unsigned short int)
    function int xfrm_user_policy(sock*, int, u8*, int)
    function int xt_check_match(xt_mtchk_param*, unsigned int, u16, bool)
    function int xt_check_target(xt_tgchk_param*, unsigned int, u16, bool)
    function void xt_compat_match_from_user(xt_entry_match*, void**, unsigned int*)
    function int xt_compat_match_offset(const xt_match*)
    function int xt_compat_match_to_user(const xt_entry_match*, void**, unsigned int*)
    function void xt_compat_target_from_user(xt_entry_target*, void**, unsigned int*)
    function int xt_compat_target_offset(const xt_target*)
    function int xt_compat_target_to_user(const xt_entry_target*, void**, unsigned int*)
    function xt_match* xt_find_match(u8, const char*, u8)
    function xt_table* xt_find_table_lock(net*, u_int8_t, const char*)
    function nf_hook_ops* xt_hook_ops_alloc(const xt_table*, nf_hookfn*)
    function int xt_match_to_user(const xt_entry_match*, xt_entry_match*)
    function void xt_proto_fini(net*, u_int8_t)
    function int xt_proto_init(net*, u_int8_t)
    function int xt_register_match(xt_match*)
    function int xt_register_matches(xt_match*, unsigned int)
    function xt_table* xt_register_table(net*, const xt_table*, xt_table_info*, xt_table_info*)
    function int xt_register_target(xt_target*)
    function int xt_register_targets(xt_target*, unsigned int)
    function xt_match* xt_request_find_match(uint8_t, const char*, uint8_t)
    function xt_table* xt_request_find_table_lock(net*, u_int8_t, const char*)
    function xt_target* xt_request_find_target(u8, const char*, u8)
    function int xt_target_to_user(const xt_entry_target*, xt_entry_target*)
    function void xt_unregister_match(xt_match*)
    function void xt_unregister_matches(xt_match*, unsigned int)
    function void xt_unregister_target(xt_target*)
    function void xt_unregister_targets(xt_target*, unsigned int)
    void ()* __fib6_flush_trees
    neigh_table arp_tbl
    net_device* blackhole_netdev
    net init_net
    neigh_table nd_tbl
    nf_ct_hook* nf_ct_hook
    netlink_table* nl_table
    pingv6_ops pingv6_ops
    softnet_data softnet_data

'struct netns_ipv4 at ipv4.h:43:1' changed:
  details were reported earlier

Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I9e89ec640132cf0810a7592fb8e2ac4c11cfa8c2
2019-12-13 13:11:06 -08:00
Greg Kroah-Hartman
cc2c50fd67 ANDROID: update abi for 5.4.3 merge
Leaf changes summary: 4 artifacts changed (2 filtered out)
Changed leaf types summary: 4 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct kernfs_root at kernfs.h:183:1' changed:
  type size hasn't changed
  1 data member insertion:
    'u32 kernfs_root::last_ino', at offset 320 (in bits) at kernfs.h:190:1
  there are data member changes:
   'u32 kernfs_root::next_generation' offset changed from 320 to 352 (in bits) (by +32 bits)

  6981 impacted interfaces:
    bus_type ac97_bus_type
	<snip>

'struct scsi_device at scsi_device.h:101:1' changed:
  type size hasn't changed
  1 data member insertion:
    'unsigned int scsi_device::set_dbd_for_ms', at offset 14 (in bits) at scsi_device.h:173:1
  there are data member changes:
   'unsigned int scsi_device::select_no_atn' offset changed from 1 to 2272 (in bits) (by +2271 bits)
   'unsigned int scsi_device::no_uld_attach' offset changed from 2 to 1 (in bits) (by -1 bits)
   'unsigned int scsi_device::start_stop_pwr_cond' offset changed from 3 to 2 (in bits) (by -1 bits)
   'unsigned int scsi_device::manage_start_stop' offset changed from 4 to 3 (in bits) (by -1 bits)
   'unsigned int scsi_device::allow_restart' offset changed from 5 to 4 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_start_on_add' offset changed from 6 to 5 (in bits) (by -1 bits)
   'unsigned int scsi_device::use_192_bytes_for_3f' offset changed from 7 to 6 (in bits) (by -1 bits)
   'unsigned int scsi_device::try_vpd_pages' offset changed from 8 to 7 (in bits) (by -1 bits)
   'unsigned int scsi_device::skip_vpd_pages' offset changed from 9 to 8 (in bits) (by -1 bits)
   'unsigned int scsi_device::skip_ms_page_3f' offset changed from 10 to 9 (in bits) (by -1 bits)
   'unsigned int scsi_device::skip_ms_page_8' offset changed from 11 to 10 (in bits) (by -1 bits)
   'unsigned int scsi_device::use_16_for_rw' offset changed from 12 to 11 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_write_same' offset changed from 13 to 12 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_report_opcodes' offset changed from 14 to 13 (in bits) (by -1 bits)
   'unsigned int scsi_device::rpm_autosuspend' offset changed from 18 to 17 (in bits) (by -1 bits)
   'unsigned int scsi_device::unmap_limit_for_ws' offset changed from 19 to 18 (in bits) (by -1 bits)
   'unsigned int scsi_device::lun_in_cdb' offset changed from 20 to 19 (in bits) (by -1 bits)
   'unsigned int scsi_device::broken_fua' offset changed from 21 to 20 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_dif' offset changed from 22 to 21 (in bits) (by -1 bits)
   'unsigned int scsi_device::wce_default_on' offset changed from 23 to 22 (in bits) (by -1 bits)
   'unsigned int scsi_device::is_visible' offset changed from 24 to 23 (in bits) (by -1 bits)
   'unsigned int scsi_device::security_supported' offset changed from 25 to 24 (in bits) (by -1 bits)
   'unsigned int scsi_device::try_rc_10_first' offset changed from 26 to 25 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_read_capacity_16' offset changed from 27 to 26 (in bits) (by -1 bits)
   'unsigned int scsi_device::no_read_disc_info' offset changed from 28 to 27 (in bits) (by -1 bits)
   'unsigned int scsi_device::last_sector_bug' offset changed from 29 to 28 (in bits) (by -1 bits)
   'unsigned int scsi_device::retry_hwerror' offset changed from 30 to 29 (in bits) (by -1 bits)
   'unsigned int scsi_device::guess_capacity' offset changed from 31 to 30 (in bits) (by -1 bits)
   'unsigned int scsi_device::fix_capacity' offset changed from 2272 to 31 (in bits) (by -2241 bits)

  100 impacted interfaces:
    function scsi_device* __scsi_add_device(Scsi_Host*, uint, uint, u64, void*)
    function scsi_device* __scsi_device_lookup(Scsi_Host*, uint, uint, u64)
    function scsi_device* __scsi_device_lookup_by_target(scsi_target*, u64)
    function int __scsi_execute(scsi_device*, const unsigned char*, int, void*, unsigned int, unsigned char*, scsi_sense_hdr*, int, int, u64, req_flags_t, int*)
    function void __scsi_init_queue(Scsi_Host*, request_queue*)
    function scsi_device* __scsi_iterate_devices(Scsi_Host*, scsi_device*)
    function void __scsi_print_sense(const scsi_device*, const char*, const unsigned char*, int)
    function void __starget_for_each_device(scsi_target*, void*, void ()*)
    function void scmd_printk(const char*, const scsi_cmnd*, const char*, ...)
    function int scsi_add_device(Scsi_Host*, uint, uint, u64)
    function int scsi_add_host_with_dma(Scsi_Host*, device*, device*)
    function int scsi_autopm_get_device(scsi_device*)
    function void scsi_autopm_put_device(scsi_device*)
    function void scsi_block_requests(Scsi_Host*)
    function int scsi_block_when_processing_errors(scsi_device*)
    function int scsi_change_queue_depth(scsi_device*, int)
    function int scsi_check_sense(scsi_cmnd*)
    function bool scsi_command_normalize_sense(const scsi_cmnd*, scsi_sense_hdr*)
    function scsi_device* scsi_device_from_queue(request_queue*)
    function int scsi_device_get(scsi_device*)
    function scsi_device* scsi_device_lookup(Scsi_Host*, uint, uint, u64)
    function scsi_device* scsi_device_lookup_by_target(scsi_target*, u64)
    function void scsi_device_put(scsi_device*)
    function int scsi_device_quiesce(scsi_device*)
    function void scsi_device_resume(scsi_device*)
    function int scsi_device_set_state(scsi_device*, scsi_device_state)
    function void scsi_eh_finish_cmd(scsi_cmnd*, list_head*)
    function void scsi_eh_prep_cmnd(scsi_cmnd*, scsi_eh_save*, unsigned char*, int, unsigned int)
    function void scsi_eh_ready_devs(Scsi_Host*, list_head*, list_head*)
    function void scsi_eh_restore_cmnd(scsi_cmnd*, scsi_eh_save*)
    function void scsi_flush_work(Scsi_Host*)
    function void scsi_free_host_dev(scsi_device*)
    function blist_flags_t scsi_get_device_flags_keyed(scsi_device*, const unsigned char*, const unsigned char*, scsi_devinfo_key)
    function scsi_device* scsi_get_host_dev(Scsi_Host*)
    function int scsi_get_vpd_page(scsi_device*, u8, unsigned char*, int)
    function Scsi_Host* scsi_host_alloc(scsi_host_template*, int)
    function int scsi_host_busy(Scsi_Host*)
    function Scsi_Host* scsi_host_get(Scsi_Host*)
    function Scsi_Host* scsi_host_lookup(unsigned short int)
    function void scsi_host_put(Scsi_Host*)
    function blk_status_t scsi_init_io(scsi_cmnd*)
    function int scsi_internal_device_block_nowait(scsi_device*)
    function int scsi_internal_device_unblock_nowait(scsi_device*, scsi_device_state)
    function int scsi_ioctl(scsi_device*, int, void*)
    function int scsi_ioctl_block_when_processing_errors(scsi_device*, int, bool)
    function int scsi_mode_select(scsi_device*, int, int, int, unsigned char*, int, int, int, scsi_mode_data*, scsi_sense_hdr*)
    function int scsi_mode_sense(scsi_device*, int, int, unsigned char*, int, int, int, scsi_mode_data*, scsi_sense_hdr*)
    function void scsi_print_command(scsi_cmnd*)
    function void scsi_print_result(const scsi_cmnd*, const char*, int)
    function void scsi_print_sense(const scsi_cmnd*)
    function void scsi_print_sense_hdr(const scsi_device*, const char*, const scsi_sense_hdr*)
    function int scsi_queue_work(Scsi_Host*, work_struct*)
    function void scsi_remove_device(scsi_device*)
    function void scsi_remove_host(Scsi_Host*)
    function void scsi_report_bus_reset(Scsi_Host*, int)
    function void scsi_report_device_reset(Scsi_Host*, int, int)
    function int scsi_report_opcode(scsi_device*, unsigned char*, unsigned int, unsigned char)
    function void scsi_scan_host(Scsi_Host*)
    function void scsi_schedule_eh(Scsi_Host*)
    function int scsi_set_medium_removal(scsi_device*, char)
    function void scsi_target_quiesce(scsi_target*)
    function void scsi_target_resume(scsi_target*)
    function int scsi_test_unit_ready(scsi_device*, int, int, scsi_sense_hdr*)
    function int scsi_track_queue_full(scsi_device*, int)
    function void scsi_unblock_requests(Scsi_Host*)
    function int scsi_vpd_lun_id(scsi_device*, char*, size_t)
    function int scsi_vpd_tpg_id(scsi_device*, int*)
    function void sdev_disable_disk_events(scsi_device*)
    function void sdev_enable_disk_events(scsi_device*)
    function void sdev_evt_send(scsi_device*, scsi_event*)
    function void sdev_evt_send_simple(scsi_device*, scsi_device_event, gfp_t)
    function void sdev_prefix_printk(const char*, const scsi_device*, const char*, const char*, ...)
    function void starget_for_each_device(scsi_target*, void*, void ()*)
    function int ufshcd_alloc_host(device*, ufs_hba**)
    function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)
    function void ufshcd_crypto_destroy_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_crypto_disable_spec(ufs_hba*)
    function void ufshcd_crypto_enable_spec(ufs_hba*)
    function void ufshcd_crypto_setup_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_dealloc_host(ufs_hba*)
    function int ufshcd_dme_get_attr(ufs_hba*, u32, u32*, u8)
    function int ufshcd_dme_set_attr(ufs_hba*, u32, u8, u32, u8)
    function int ufshcd_dump_regs(ufs_hba*, size_t, size_t, const char*)
    function u32 ufshcd_get_local_unipro_ver(ufs_hba*)
    function int ufshcd_hba_init_crypto_spec(ufs_hba*, const keyslot_mgmt_ll_ops*)
    function int ufshcd_hold(ufs_hba*, bool)
    function int ufshcd_init(ufs_hba*, void*, unsigned int)
    function int ufshcd_map_desc_id_to_length(ufs_hba*, desc_idn, int*)
    function int ufshcd_pltfrm_init(platform_device*, const ufs_hba_variant_ops*)
    function int ufshcd_prepare_lrbp_crypto_spec(ufs_hba*, scsi_cmnd*, ufshcd_lrb*)
    function void ufshcd_release(ufs_hba*)
    function void ufshcd_remove(ufs_hba*)
    function int ufshcd_runtime_idle(ufs_hba*)
    function int ufshcd_runtime_resume(ufs_hba*)
    function int ufshcd_runtime_suspend(ufs_hba*)
    function int ufshcd_shutdown(ufs_hba*)
    function int ufshcd_system_resume(ufs_hba*)
    function int ufshcd_system_suspend(ufs_hba*)
    function int ufshcd_uic_hibern8_enter(ufs_hba*)
    function int ufshcd_uic_hibern8_exit(ufs_hba*)

'struct ufs_dev_info at ufs.h:529:1' changed:
  type size changed from 16 to 64 (in bits)
  2 data member insertions:
    'u16 ufs_dev_info::spec_version', at offset 16 (in bits) at ufs.h:534:1
    'u32 ufs_dev_info::clk_gating_wait_us', at offset 32 (in bits) at ufs.h:535:1

  27 impacted interfaces:
    function int ufshcd_alloc_host(device*, ufs_hba**)
    function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)
    function void ufshcd_crypto_destroy_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_crypto_disable_spec(ufs_hba*)
    function void ufshcd_crypto_enable_spec(ufs_hba*)
    function void ufshcd_crypto_setup_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_dealloc_host(ufs_hba*)
    function int ufshcd_dme_get_attr(ufs_hba*, u32, u32*, u8)
    function int ufshcd_dme_set_attr(ufs_hba*, u32, u8, u32, u8)
    function int ufshcd_dump_regs(ufs_hba*, size_t, size_t, const char*)
    function u32 ufshcd_get_local_unipro_ver(ufs_hba*)
    function int ufshcd_hba_init_crypto_spec(ufs_hba*, const keyslot_mgmt_ll_ops*)
    function int ufshcd_hold(ufs_hba*, bool)
    function int ufshcd_init(ufs_hba*, void*, unsigned int)
    function int ufshcd_map_desc_id_to_length(ufs_hba*, desc_idn, int*)
    function int ufshcd_pltfrm_init(platform_device*, const ufs_hba_variant_ops*)
    function int ufshcd_prepare_lrbp_crypto_spec(ufs_hba*, scsi_cmnd*, ufshcd_lrb*)
    function void ufshcd_release(ufs_hba*)
    function void ufshcd_remove(ufs_hba*)
    function int ufshcd_runtime_idle(ufs_hba*)
    function int ufshcd_runtime_resume(ufs_hba*)
    function int ufshcd_runtime_suspend(ufs_hba*)
    function int ufshcd_shutdown(ufs_hba*)
    function int ufshcd_system_resume(ufs_hba*)
    function int ufshcd_system_suspend(ufs_hba*)
    function int ufshcd_uic_hibern8_enter(ufs_hba*)
    function int ufshcd_uic_hibern8_exit(ufs_hba*)

'struct ufs_hba at ufshcd.h:562:1' changed:
  type size changed from 27456 to 27520 (in bits)
  2 data member deletions:
    'bool ufs_hba::is_init_prefetch', at offset 3128 (in bits) at ufshcd.h:701:1

    'ufs_init_prefetch ufs_hba::init_prefetch_data', at offset 3136 (in bits) at ufshcd.h:702:1

  1 data member insertion:
    'bool ufs_hba::silence_err_logs', at offset 14720 (in bits) at ufshcd.h:702:1
  there are data member changes:
   'work_struct ufs_hba::eh_work' offset changed from 3200 to 3136 (in bits) (by -64 bits)
   'work_struct ufs_hba::eeh_work' offset changed from 3456 to 3392 (in bits) (by -64 bits)
   'u32 ufs_hba::errors' offset changed from 3712 to 3648 (in bits) (by -64 bits)
   'u32 ufs_hba::uic_error' offset changed from 3744 to 3680 (in bits) (by -64 bits)
   'u32 ufs_hba::saved_err' offset changed from 3776 to 3712 (in bits) (by -64 bits)
   'u32 ufs_hba::saved_uic_err' offset changed from 3808 to 3744 (in bits) (by -64 bits)
   'ufs_stats ufs_hba::ufs_stats' offset changed from 3840 to 3776 (in bits) (by -64 bits)
   type 'struct ufs_dev_info' of 'ufs_hba::dev_info' changed as reported earlier
   and size changed from 16 to 64 (in bits) (by +48 bits)
   'bool ufs_hba::auto_bkops_enabled' offset changed from 15888 to 15936 (in bits) (by +48 bits)
   'ufs_vreg_info ufs_hba::vreg_info' offset changed from 15936 to 16000 (in bits) (by +64 bits)
   'list_head ufs_hba::clk_list_head' offset changed from 16192 to 16256 (in bits) (by +64 bits)
   'bool ufs_hba::wlun_dev_clr_ua' offset changed from 16320 to 16384 (in bits) (by +64 bits)
   'int ufs_hba::req_abort_count' offset changed from 16352 to 16416 (in bits) (by +64 bits)
   'u32 ufs_hba::lanes_per_direction' offset changed from 16384 to 16448 (in bits) (by +64 bits)
   'ufs_pa_layer_attr ufs_hba::pwr_info' offset changed from 16416 to 16480 (in bits) (by +64 bits)
   'ufs_pwr_mode_info ufs_hba::max_pwr_info' offset changed from 16640 to 16704 (in bits) (by +64 bits)
   'ufs_clk_gating ufs_hba::clk_gating' offset changed from 16896 to 16960 (in bits) (by +64 bits)
   'u32 ufs_hba::caps' offset changed from 18688 to 18752 (in bits) (by +64 bits)
   'devfreq* ufs_hba::devfreq' offset changed from 18752 to 18816 (in bits) (by +64 bits)
   'ufs_clk_scaling ufs_hba::clk_scaling' offset changed from 18816 to 18880 (in bits) (by +64 bits)
   'bool ufs_hba::is_sys_suspended' offset changed from 20224 to 20288 (in bits) (by +64 bits)
   'bkops_status ufs_hba::urgent_bkops_lvl' offset changed from 20256 to 20320 (in bits) (by +64 bits)
   'bool ufs_hba::is_urgent_bkops_lvl_checked' offset changed from 20288 to 20352 (in bits) (by +64 bits)
   'rw_semaphore ufs_hba::clk_scaling_lock' offset changed from 20352 to 20416 (in bits) (by +64 bits)
   'ufs_desc_size ufs_hba::desc_size' offset changed from 20672 to 20736 (in bits) (by +64 bits)
   'atomic_t ufs_hba::scsi_block_reqs_cnt' offset changed from 20896 to 20960 (in bits) (by +64 bits)
   'device ufs_hba::bsg_dev' offset changed from 20928 to 20992 (in bits) (by +64 bits)
   'request_queue* ufs_hba::bsg_queue' offset changed from 27072 to 27136 (in bits) (by +64 bits)
   'ufs_crypto_capabilities ufs_hba::crypto_capabilities' offset changed from 27136 to 27200 (in bits) (by +64 bits)
   'ufs_crypto_cap_entry* ufs_hba::crypto_cap_array' offset changed from 27200 to 27264 (in bits) (by +64 bits)
   'u32 ufs_hba::crypto_cfg_register' offset changed from 27264 to 27328 (in bits) (by +64 bits)
   'ufs_crypto_cfg_entry* ufs_hba::crypto_cfgs' offset changed from 27328 to 27392 (in bits) (by +64 bits)
   'keyslot_manager* ufs_hba::ksm' offset changed from 27392 to 27456 (in bits) (by +64 bits)

  27 impacted interfaces:
    function int ufshcd_alloc_host(device*, ufs_hba**)
    function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)
    function void ufshcd_crypto_destroy_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_crypto_disable_spec(ufs_hba*)
    function void ufshcd_crypto_enable_spec(ufs_hba*)
    function void ufshcd_crypto_setup_rq_keyslot_manager_spec(ufs_hba*, request_queue*)
    function void ufshcd_dealloc_host(ufs_hba*)
    function int ufshcd_dme_get_attr(ufs_hba*, u32, u32*, u8)
    function int ufshcd_dme_set_attr(ufs_hba*, u32, u8, u32, u8)
    function int ufshcd_dump_regs(ufs_hba*, size_t, size_t, const char*)
    function u32 ufshcd_get_local_unipro_ver(ufs_hba*)
    function int ufshcd_hba_init_crypto_spec(ufs_hba*, const keyslot_mgmt_ll_ops*)
    function int ufshcd_hold(ufs_hba*, bool)
    function int ufshcd_init(ufs_hba*, void*, unsigned int)
    function int ufshcd_map_desc_id_to_length(ufs_hba*, desc_idn, int*)
    function int ufshcd_pltfrm_init(platform_device*, const ufs_hba_variant_ops*)
    function int ufshcd_prepare_lrbp_crypto_spec(ufs_hba*, scsi_cmnd*, ufshcd_lrb*)
    function void ufshcd_release(ufs_hba*)
    function void ufshcd_remove(ufs_hba*)
    function int ufshcd_runtime_idle(ufs_hba*)
    function int ufshcd_runtime_resume(ufs_hba*)
    function int ufshcd_runtime_suspend(ufs_hba*)
    function int ufshcd_shutdown(ufs_hba*)
    function int ufshcd_system_resume(ufs_hba*)
    function int ufshcd_system_suspend(ufs_hba*)
    function int ufshcd_uic_hibern8_enter(ufs_hba*)
    function int ufshcd_uic_hibern8_exit(ufs_hba*)

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ied924a96364f4b3d5148d95a809c26c6ed680b2f
2019-12-13 17:21:18 +01:00
Alistair Delva
e92b86005a ANDROID: update abi_gki_aarch64.xml for ion, drm changes
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

2 Added functions:

  [A] 'function int drm_mode_convert_umode(drm_device*, drm_display_mode*, const drm_mode_modeinfo*)'
  [A] 'function void ion_buffer_prep_noncached(ion_buffer*)'

Bug: 139653858
Change-Id: I94e105aab84fdfd632e06d79b9aa42c32c38aaa3
Signed-off-by: Alistair Delva <adelva@google.com>
2019-12-13 15:19:17 +00:00
Sami Tolvanen
b9cf30985f ANDROID: update abi_gki_aarch64.xml for LTO, CFI, and SCS
Leaf changes summary: 20 artifacts changed
Changed leaf types summary: 8 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 3 Changed, 5 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

3 functions with some sub-type change:

5 Added functions:

  [A] 'function void __cfi_slowpath(uint64_t, void*, void*)'
  [A] 'function void __ubsan_handle_cfi_check_fail_abort(void*, void*, void*)'
  [A] 'function bool arch_bpf_jit_check_func(const bpf_prog*)'
  [A] 'function void cfi_module_add(module*, unsigned long int, unsigned long int)'
  [A] 'function void cfi_module_remove(module*, unsigned long int, unsigned long int)'

'enum zone_stat_item at mmzone.h:190:1' changed:
  type size hasn't changed
  1 enumerator insertion:
    'zone_stat_item::NR_KERNEL_SCS_BYTES' value '10'

  4 enumerator changes:
    'zone_stat_item::NR_BOUNCE' from value '10' to '11' at mmzone.h:190:1
    'zone_stat_item::NR_ZSPAGES' from value '11' to '12' at mmzone.h:190:1
    'zone_stat_item::NR_FREE_CMA_PAGES' from value '12' to '13' at mmzone.h:190:1
    'zone_stat_item::NR_VM_ZONE_STAT_ITEMS' from value '13' to '14' at mmzone.h:190:1

  6 impacted interfaces

'struct kernel_symbol at export.h:69:1' changed:
  type size changed from 96 to 192 (in bits)
  1 data member deletion:
    'int kernel_symbol::name_offset', at offset 32 (in bits) at export.h:71:1

  1 data member insertion:
    'const char* kernel_symbol::namespace', at offset 128 (in bits) at export.h:90:1
  there are data member changes:
   type 'int' of 'kernel_symbol::value_offset' changed:
     type name changed from 'int' to 'unsigned long int'
     type size changed from 32 to 64 (in bits)
   name of 'kernel_symbol::value_offset' changed to 'kernel_symbol::value' at export.h:88:1, size changed from 32 to 64 (in bits) (by +32 bits)
   type 'int' of 'kernel_symbol::namespace_offset' changed:
     entity changed from 'int' to 'const char*'
     type size changed from 32 to 64 (in bits)
   name of 'kernel_symbol::namespace_offset' changed to 'kernel_symbol::name' at export.h:89:1, size changed from 32 to 64 (in bits) (by +32 bits)

  7282 impacted interfaces

'struct module at module.h:348:1' changed:
  type size hasn't changed
  1 data member insertion:
    'cfi_check_fn module::cfi_check', at offset 1856 (in bits) at module.h:370:1
  there are data member changes:
   'mutex module::param_lock' offset changed from 1856 to 1920 (in bits) (by +64 bits)
   'kernel_param* module::kp' offset changed from 2112 to 2176 (in bits) (by +64 bits)
   'unsigned int module::num_kp' offset changed from 2176 to 2240 (in bits) (by +64 bits)
   'unsigned int module::num_gpl_syms' offset changed from 2208 to 2272 (in bits) (by +64 bits)
   'const kernel_symbol* module::gpl_syms' offset changed from 2240 to 2304 (in bits) (by +64 bits)
   'const s32* module::gpl_crcs' offset changed from 2304 to 2368 (in bits) (by +64 bits)
   'bool module::sig_ok' offset changed from 2368 to 2432 (in bits) (by +64 bits)
   'bool module::async_probe_requested' offset changed from 2376 to 2440 (in bits) (by +64 bits)
   'const kernel_symbol* module::gpl_future_syms' offset changed from 2432 to 2496 (in bits) (by +64 bits)
   'const s32* module::gpl_future_crcs' offset changed from 2496 to 2560 (in bits) (by +64 bits)
   'unsigned int module::num_gpl_future_syms' offset changed from 2560 to 2624 (in bits) (by +64 bits)
   'unsigned int module::num_exentries' offset changed from 2592 to 2656 (in bits) (by +64 bits)
   'exception_table_entry* module::extable' offset changed from 2624 to 2688 (in bits) (by +64 bits)
   'void ()* module::init' offset changed from 2688 to 2752 (in bits) (by +64 bits)
   type 'tracepoint_ptr_t*' of 'module::tracepoints_ptrs' changed:
     pointer type changed from: 'tracepoint_ptr_t*' to: 'tracepoint_ptr_t*'

  7282 impacted interfaces

'struct per_cpu_pageset at mmzone.h:345:1' changed:
  type size hasn't changed
  there are data member changes:
   type 's8[13]' of 'per_cpu_pageset::vm_stat_diff' changed:
     type name changed from 's8[13]' to 's8[14]'
     array type size changed from 104 to 112
     array type subrange 1 changed length from 13 to 14
, size changed from 104 to 112 (in bits) (by +8 bits)

  742 impacted interfaces

'struct pglist_data at mmzone.h:702:1' changed:
  type size hasn't changed
  there are data member changes:

  742 impacted interfaces

'struct task_struct at sched.h:624:1' changed:
  type size hasn't changed
  there are data member changes:
   type 'struct thread_info' of 'task_struct::thread_info' changed:
     type size changed from 192 to 256 (in bits)
     1 data member insertion:
       'void* thread_info::shadow_call_stack', at offset 192 (in bits) at thread_info.h:45:1

     7536 impacted interfaces

   'volatile long int task_struct::state' offset changed from 192 to 256 (in bits) (by +64 bits)
   'void* task_struct::stack' offset changed from 256 to 320 (in bits) (by +64 bits)
   'refcount_t task_struct::usage' offset changed from 320 to 384 (in bits) (by +64 bits)
   'unsigned int task_struct::flags' offset changed from 352 to 416 (in bits) (by +64 bits)
   'unsigned int task_struct::ptrace' offset changed from 384 to 448 (in bits) (by +64 bits)
   'llist_node task_struct::wake_entry' offset changed from 448 to 512 (in bits) (by +64 bits)
   'int task_struct::on_cpu' offset changed from 512 to 576 (in bits) (by +64 bits)
   'unsigned int task_struct::cpu' offset changed from 544 to 608 (in bits) (by +64 bits)
   'unsigned int task_struct::wakee_flips' offset changed from 576 to 640 (in bits) (by +64 bits)
   'unsigned long int task_struct::wakee_flip_decay_ts' offset changed from 640 to 704 (in bits) (by +64 bits)
   'task_struct* task_struct::last_wakee' offset changed from 704 to 768 (in bits) (by +64 bits)
   'int task_struct::recent_used_cpu' offset changed from 768 to 832 (in bits) (by +64 bits)
   'int task_struct::wake_cpu' offset changed from 800 to 864 (in bits) (by +64 bits)
   'int task_struct::on_rq' offset changed from 832 to 896 (in bits) (by +64 bits)
   'int task_struct::prio' offset changed from 864 to 928 (in bits) (by +64 bits)
   'int task_struct::static_prio' offset changed from 896 to 960 (in bits) (by +64 bits)
   'int task_struct::normal_prio' offset changed from 928 to 992 (in bits) (by +64 bits)
   'unsigned int task_struct::rt_priority' offset changed from 960 to 1024 (in bits) (by +64 bits)
   'const sched_class* task_struct::sched_class' offset changed from 1024 to 1088 (in bits) (by +64 bits)

  7536 impacted interfaces

'struct thread_info at thread_info.h:26:1' changed:
  details were reported earlier

'struct zone at mmzone.h:421:1' changed:
  type size hasn't changed
  there are data member changes:
   type 'atomic_long_t[13]' of 'zone::vm_stat' changed:
     type name changed from 'atomic_long_t[13]' to 'atomic_long_t[14]'
     array type size changed from 832 to 896
     array type subrange 1 changed length from 13 to 14
, size changed from 832 to 896 (in bits) (by +64 bits)
   'atomic_long_t zone::vm_numa_stat[]' offset changed from 12608 to 12672 (in bits) (by +64 bits)

  742 impacted interfaces

Bug: 145210207
Change-Id: I7f6a33c8652eed6536a14ece70918e911bf44842
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2019-12-12 06:47:11 -08:00
Alistair Delva
5fe7cb903b ANDROID: update abi_gki_aarch64.xml for CONFIG_GNSS
Leaf changes summary: 5 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 5 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

5 Added functions:

  [A] 'function gnss_device* gnss_allocate_device(device*)'
  [A] 'function void gnss_deregister_device(gnss_device*)'
  [A] 'function int gnss_insert_raw(gnss_device*, const unsigned char*, size_t)'
  [A] 'function void gnss_put_device(gnss_device*)'
  [A] 'function int gnss_register_device(gnss_device*)'

Bug: 146079200
Change-Id: If274ddfcb8553b2ae0f1653be76faf018824403a
Signed-off-by: Alistair Delva <adelva@google.com>
2019-12-11 15:28:41 -08:00
Todd Kjos
0ffc2e0559 ANDROID: gki_defconfig: enable HID configs
Enable CONFIG_HID_SONY and CONFIG_HID_PLANTRONICS for GKI

Bug: 145847133
Change-Id: I44437f67427021186aeac14d1771dcdee69c4022
Signed-off-by: Todd Kjos <tkjos@google.com>
2019-12-11 13:56:12 -08:00
Ram Muthiah
27ffbab299 ANDROID: gki_defconfig: Enable UCLAMP by default
Bug: 145626605
Bug: 143710295
Change-Id: Id2f463c42dbc6ad5a0cfc22b6c2efa4fa683c12f
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
2019-12-06 18:41:11 -08:00
Quentin Perret
1ff56d858a ANDROID: Update ABI representation
Leaf changes summary: 1 artifact changed (1 filtered out)
Changed leaf types summary: 0 (1 filtered out) leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void arch_setup_dma_ops(device*, u64, u64, const iommu_ops*, bool)'

Bug: 140224784
Change-Id: I26d7fd3ebb2838cbe5b7059423daa0d911a0bb6b
Signed-off-by: Quentin Perret <qperret@google.com>
2019-12-05 15:19:51 +00:00
Matthias Maennich
ecd5799fe7 ANDROID: Update ABI representation
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct regulator at internal.h:34:1' changed:
  type size hasn't changed
  1 data member insertion:
    'unsigned int regulator::device_link', at offset 29 (in bits) at internal.h:39:1

  167 impacted interfaces

Fixes: 9cbebdc112 ("UPSTREAM: regulator: core: Don't try to remove device links if add failed")
Change-Id: Ic5f1edaf0883ea5e1c53b8d3f433e511f311c2c6
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-12-04 07:46:28 +00:00
Mark Salyzyn
2491c2210b ANDROID: Update ABI representation
Leaf changes summary: 49 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 48 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

48 Added functions:

  [A] 'function int __devm_iio_device_register(device*, iio_dev*, module*)'
  [A] 'function int __iio_device_register(iio_dev*, module*)'
  [A] 'function iio_channel* devm_iio_channel_get(device*, const char*)'
  [A] 'function iio_channel* devm_iio_channel_get_all(device*)'
  [A] 'function void devm_iio_channel_release(device*, iio_channel*)'
  [A] 'function void devm_iio_channel_release_all(device*, iio_channel*)'
  [A] 'function iio_dev* devm_iio_device_alloc(device*, int)'
  [A] 'function void devm_iio_device_free(device*, iio_dev*)'
  [A] 'function int devm_iio_device_match(device*, void*, void*)'
  [A] 'function void devm_iio_device_unregister(device*, iio_dev*)'
  [A] 'function iio_channel* iio_channel_get(device*, const char*)'
  [A] 'function iio_channel* iio_channel_get_all(device*)'
  [A] 'function void iio_channel_release(iio_channel*)'
  [A] 'function void iio_channel_release_all(iio_channel*)'
  [A] 'function int iio_convert_raw_to_processed(iio_channel*, int, int*, unsigned int)'
  [A] 'function iio_dev* iio_device_alloc(int)'
  [A] 'function int iio_device_claim_direct_mode(iio_dev*)'
  [A] 'function void iio_device_free(iio_dev*)'
  [A] 'function void iio_device_release_direct_mode(iio_dev*)'
  [A] 'function void iio_device_unregister(iio_dev*)'
  [A] 'function ssize_t iio_enum_available_read(iio_dev*, uintptr_t, const iio_chan_spec*, char*)'
  [A] 'function ssize_t iio_enum_read(iio_dev*, uintptr_t, const iio_chan_spec*, char*)'
  [A] 'function ssize_t iio_enum_write(iio_dev*, uintptr_t, const iio_chan_spec*, const char*, size_t)'
  [A] 'function ssize_t iio_format_value(char*, unsigned int, int, int*)'
  [A] 'function unsigned int iio_get_channel_ext_info_count(iio_channel*)'
  [A] 'function int iio_get_channel_type(iio_channel*, iio_chan_type*)'
  [A] 'function s64 iio_get_time_ns(const iio_dev*)'
  [A] 'function unsigned int iio_get_time_res(const iio_dev*)'
  [A] 'function int iio_map_array_register(iio_dev*, iio_map*)'
  [A] 'function int iio_map_array_unregister(iio_dev*)'
  [A] 'function int iio_push_event(iio_dev*, u64, s64)'
  [A] 'function int iio_read_avail_channel_attribute(iio_channel*, const int**, int*, int*, iio_chan_info_enum)'
  [A] 'function int iio_read_avail_channel_raw(iio_channel*, const int**, int*)'
  [A] 'function int iio_read_channel_attribute(iio_channel*, int*, int*, iio_chan_info_enum)'
  [A] 'function int iio_read_channel_average_raw(iio_channel*, int*)'
  [A] 'function ssize_t iio_read_channel_ext_info(iio_channel*, const char*, char*)'
  [A] 'function int iio_read_channel_offset(iio_channel*, int*, int*)'
  [A] 'function int iio_read_channel_processed(iio_channel*, int*)'
  [A] 'function int iio_read_channel_raw(iio_channel*, int*)'
  [A] 'function int iio_read_channel_scale(iio_channel*, int*, int*)'
  [A] 'function ssize_t iio_read_const_attr(device*, device_attribute*, char*)'
  [A] 'function int iio_read_max_channel_raw(iio_channel*, int*)'
  [A] 'function int iio_read_mount_matrix(device*, const char*, iio_mount_matrix*)'
  [A] 'function ssize_t iio_show_mount_matrix(iio_dev*, uintptr_t, const iio_chan_spec*, char*)'
  [A] 'function int iio_str_to_fixpoint(const char*, int, int*, int*)'
  [A] 'function int iio_write_channel_attribute(iio_channel*, int, int, iio_chan_info_enum)'
  [A] 'function ssize_t iio_write_channel_ext_info(iio_channel*, const char*, const char*, size_t)'
  [A] 'function int iio_write_channel_raw(iio_channel*, int)'

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 145377190
Test: compile
Change-Id: I2c7327211d81f170d485e785cba6247f4464d8cf
2019-12-03 12:40:18 -08:00
Matthias Maennich
f552007cd6 ANDROID: Update ABI representation
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 4 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct snd_pcm_substream at pcm.h:438:1' changed:
  type size hasn't changed
  1 data member insertion:
    'unsigned int snd_pcm_substream::hw_no_buffer', at offset 30 (in bits) at pcm.h:478:1

  163 impacted interfaces

'struct snd_soc_dai_driver at soc-dai.h:279:1' changed:
  type size changed from 1920 to 2048 (in bits)
  there are data member changes:
   type 'struct snd_soc_pcm_stream' of 'snd_soc_dai_driver::capture' changed:
     type size changed from 320 to 384 (in bits)
     1 data member insertion:
       'const char* snd_soc_pcm_stream::aif_name', at offset 320 (in bits) at soc.h:730:1

     108 impacted interfaces

   type 'struct snd_soc_pcm_stream' of 'snd_soc_dai_driver::playback' changed as reported earlier
   and offset changed from 1472 to 1536 (in bits) (by +64 bits), size changed from 320 to 384 (in bits) (by +64 bits)
   'int snd_soc_dai_driver::probe_order' offset changed from 1824 to 1952 (in bits) (by +128 bits)
   'int snd_soc_dai_driver::remove_order' offset changed from 1856 to 1984 (in bits) (by +128 bits)

  108 impacted interfaces

'struct snd_soc_dai_link at soc.h:763:1' changed:
  type size hasn't changed
  1 data member insertion:
    'unsigned int snd_soc_dai_link::no_host_mode', at offset 14 (in bits) at soc.h:849:1
  there are data member changes:
   'unsigned int snd_soc_dai_link::ignore' offset changed from 9 to 7 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::ignore_pmdown_time' offset changed from 10 to 8 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::dpcm_merged_rate' offset changed from 11 to 9 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::dpcm_merged_chan' offset changed from 12 to 10 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::dpcm_merged_format' offset changed from 13 to 11 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::dpcm_playback' offset changed from 14 to 12 (in bits) (by -2 bits)
   'unsigned int snd_soc_dai_link::dpcm_capture' offset changed from 15 to 13 (in bits) (by -2 bits)

  108 impacted interfaces

'struct snd_soc_pcm_stream at soc.h:717:1' changed:
  details were reported earlier

Fixes: 7fe5afb291 ("ANDROID: ASoC: core - add hostless DAI support")
Change-Id: Ic4813a65ec885400ac56f53cf2bf9e616e267dd3
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-12-03 11:37:06 +00:00
Ram Muthiah
934b595640 ANDROID: gki_defconfig: =m's applied for virtio configs in arm64
aligned =m virtual dev configs for arm64 and 86_64

Test: Treehugger
Bug: 143710295
Change-Id: I77c8b838bec94cf5ad3f0dc124f8269c2b6d6636
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
(cherry picked from commit 2e1635f514da5533794f9c4772d12d5d30dd55fe)
2019-12-02 13:18:32 -08:00
Matthias Maennich
b5dc6654f3 ANDROID: Update ABI representation after 5.4.1 merge
ABI changes as follows:

Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 1 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some sub-type change:

'struct task_struct at sched.h:624:1' changed:
  type size changed from 28672 to 29184 (in bits)
  2 data member insertions:
    'mutex task_struct::futex_exit_mutex', at offset 18048 (in bits) at sched.h:1061:1
    'unsigned int task_struct::futex_state', at offset 18304 (in bits) at sched.h:1062:1
  there are data member changes:
   'perf_event_context* task_struct::perf_event_ctxp[2]' offset changed from 18048 to 18368 (in bits) (by +320 bits)
   'mutex task_struct::perf_event_mutex' offset changed from 18176 to 18496 (in bits) (by +320 bits)
   'list_head task_struct::perf_event_list' offset changed from 18432 to 18752 (in bits) (by +320 bits)
   'unsigned long int task_struct::preempt_disable_ip' offset changed from 18560 to 18880 (in bits) (by +320 bits)
   'tlbflush_unmap_batch task_struct::tlb_ubc' offset changed from 18624 to 18944 (in bits) (by +320 bits)
   offset changed from 18624 to 18944 (in bits) (by +320 bits)
   'pipe_inode_info* task_struct::splice_pipe' offset changed from 18752 to 19072 (in bits) (by +320 bits)
   'page_frag task_struct::task_frag' offset changed from 18816 to 19136 (in bits) (by +320 bits)
   'int task_struct::nr_dirtied' offset changed from 18944 to 19264 (in bits) (by +320 bits)
   'int task_struct::nr_dirtied_pause' offset changed from 18976 to 19296 (in bits) (by +320 bits)
   'unsigned long int task_struct::dirty_paused_when' offset changed from 19008 to 19328 (in bits) (by +320 bits)
   'u64 task_struct::timer_slack_ns' offset changed from 19072 to 19392 (in bits) (by +320 bits)
   'u64 task_struct::default_timer_slack_ns' offset changed from 19136 to 19456 (in bits) (by +320 bits)
   'unsigned long int task_struct::trace' offset changed from 19200 to 19520 (in bits) (by +320 bits)
   'unsigned long int task_struct::trace_recursion' offset changed from 19264 to 19584 (in bits) (by +320 bits)
   'mem_cgroup* task_struct::memcg_in_oom' offset changed from 19328 to 19648 (in bits) (by +320 bits)
   'gfp_t task_struct::memcg_oom_gfp_mask' offset changed from 19392 to 19712 (in bits) (by +320 bits)
   'int task_struct::memcg_oom_order' offset changed from 19424 to 19744 (in bits) (by +320 bits)
   'unsigned int task_struct::memcg_nr_pages_over_high' offset changed from 19456 to 19776 (in bits) (by +320 bits)
   'mem_cgroup* task_struct::active_memcg' offset changed from 19520 to 19840 (in bits) (by +320 bits)
   'request_queue* task_struct::throttle_queue' offset changed from 19584 to 19904 (in bits) (by +320 bits)
   'uprobe_task* task_struct::utask' offset changed from 19648 to 19968 (in bits) (by +320 bits)
   'int task_struct::pagefault_disabled' offset changed from 19712 to 20032 (in bits) (by +320 bits)
   'task_struct* task_struct::oom_reaper_list' offset changed from 19776 to 20096 (in bits) (by +320 bits)
   'vm_struct* task_struct::stack_vm_area' offset changed from 19840 to 20160 (in bits) (by +320 bits)
   'refcount_t task_struct::stack_refcount' offset changed from 19904 to 20224 (in bits) (by +320 bits)
   'void* task_struct::security' offset changed from 19968 to 20288 (in bits) (by +320 bits)
   'thread_struct task_struct::thread' offset changed from 20096 to 20352 (in bits) (by +256 bits)

  7421 impacted interfaces

Change-Id: I30f5296d24905028695ed09c1a5ec2f7e660c801
Cc: Greg Kroah-Hartman <gregkh@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-11-29 11:13:54 +00:00
Sami Tolvanen
0f5db0f9d5 ANDROID: update ABI representation
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 4 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct pwm_args at pwm.h:41:1' changed:
  type size changed from 64 to 128 (in bits)
  there are data member changes:
   type 'unsigned int' of 'pwm_args::period' changed:
     entity changed from 'unsigned int' to compatible type 'typedef u64' at int-ll64.h:23:1
     type size changed from 32 to 64 (in bits)
, size changed from 32 to 64 (in bits) (by +32 bits)
   'pwm_polarity pwm_args::polarity' offset changed from 32 to 64 (in bits) (by +32 bits)

  19 impacted interfaces:
    [...]

'struct pwm_capture at pwm.h:335:1' changed:
  type size changed from 64 to 128 (in bits)
  there are data member changes:
   type 'unsigned int' of 'pwm_capture::period' changed:
     entity changed from 'unsigned int' to compatible type 'typedef u64' at int-ll64.h:23:1
     type size changed from 32 to 64 (in bits)
, size changed from 32 to 64 (in bits) (by +32 bits)
   type 'unsigned int' of 'pwm_capture::duty_cycle' changed:
     entity changed from 'unsigned int' to compatible type 'typedef u64' at int-ll64.h:23:1
     type size changed from 32 to 64 (in bits)
, offset changed from 32 to 64 (in bits) (by +32 bits), size changed from 32 to 64 (in bits) (by +32 bits)

  19 impacted interfaces:
    [...]

'struct pwm_device at pwm.h:88:1' changed:
  type size changed from 576 to 704 (in bits)
  there are data member changes:
   type 'struct pwm_args' of 'pwm_device::args' changed as reported earlier
   and size changed from 64 to 128 (in bits) (by +64 bits)
   type 'struct pwm_state' of 'pwm_device::state' changed:
, offset changed from 384 to 448 (in bits) (by +64 bits), size changed from 160 to 256 (in bits) (by +96 bits)

  19 impacted interfaces:
    [...]

'struct pwm_state at pwm.h:69:1' changed:
  type size changed from 160 to 256 (in bits)
  there are data member changes:
   type 'unsigned int' of 'pwm_state::period' changed:
     entity changed from 'unsigned int' to compatible type 'typedef u64' at int-ll64.h:23:1
     type size changed from 32 to 64 (in bits)
, size changed from 32 to 64 (in bits) (by +32 bits)
   type 'unsigned int' of 'pwm_state::duty_cycle' changed:
     entity changed from 'unsigned int' to compatible type 'typedef u64' at int-ll64.h:23:1
     type size changed from 32 to 64 (in bits)
, offset changed from 32 to 64 (in bits) (by +32 bits), size changed from 32 to 64 (in bits) (by +32 bits)
   'pwm_polarity pwm_state::polarity' offset changed from 64 to 128 (in bits) (by +64 bits)
   'pwm_output_type pwm_state::output_type' offset changed from 96 to 160 (in bits) (by +64 bits)
   'bool pwm_state::enabled' offset changed from 128 to 192 (in bits) (by +64 bits)

  19 impacted interfaces:
    [...]

Fixes: 0453f563cc ("FROMLIST: pwm: Convert period and duty cycle to u64")
Change-Id: I84a0b3ad7d7798ab3d00d3f45a9eb5b20cea04a9
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2019-11-27 10:53:26 -08:00
Matthias Maennich
fa4d49ae74 ANDROID: update ABI representation
3 Removed functions:

  [D] 'function int of_phandle_iterator_args(of_phandle_iterator*, uint32_t*, int)'
  [D] 'function int pci_for_each_dma_alias(pci_dev*, void ()*, void*)'
  [D] 'function void pci_request_acs()'

Fixes: e739da6595 ("Revert "FROMLIST: PCI: Export PCI ACS and DMA searching functions to modules"")
Fixes: ef78faff0a ("Revert "FROMLIST: of: Export of_phandle_iterator_args() to modules"")
Change-Id: Ib39f875c120ec9241fd971fa7877ede48ec33437
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-11-25 22:07:34 +00:00
Matthias Maennich
99721e2f1a ANDROID: initial branch preparations for 5.4
Adjust defconfigs, build.config and initial ABI representation.

Change-Id: I3c859b8a05d35eb3bfd801a04e797ee769f874ee
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-11-25 17:01:07 +00:00
Matthias Maennich
a547c35fa4 ANDROID: update ABI representation
Change-Id: I19265a14db91294a8dbe0c2d9ccd7b2592bc6f61
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-11-20 23:49:49 +00:00
Matthias Maennich
938a89928b Update ABI definition after libabigail upgrade
This upgrade introduces Kernel 4.19+ Modules support.

Report:

Leaf changes summary: 16 artifacts changed
Changed leaf types summary: 3 leaf types changed
Removed/Changed/Added functions summary: 13 Removed, 0 Changed, 0 Added function (142 filtered out)
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable (1 filtered out)

13 Removed functions:

  [D] 'function void mmc_blk_cqe_recovery(mmc_queue*)'
  [D] 'function void mmc_blk_mq_complete(request*)'
  [D] 'function void mmc_blk_mq_complete_work(work_struct*)'
  [D] 'function mmc_issued mmc_blk_mq_issue_rq(mmc_queue*, request*)'
  [D] 'function void mmc_blk_mq_recovery(mmc_queue*)'
  [D] 'function void mmc_cleanup_queue(mmc_queue*)'
  [D] 'function void mmc_cqe_check_busy(mmc_queue*)'
  [D] 'function void mmc_cqe_recovery_notifier(mmc_request*)'
  [D] 'function int mmc_init_queue(mmc_queue*, mmc_card*)'
  [D] 'function mmc_issue_type mmc_issue_type(mmc_queue*, request*)'
  [D] 'function unsigned int mmc_queue_map_sg(mmc_queue*, mmc_queue_req*)'
  [D] 'function void mmc_queue_resume(mmc_queue*)'
  [D] 'function void mmc_queue_suspend(mmc_queue*)'

'struct css_set' changed:
  type size changed from 0 to 3072 (in bits)

  6949 impacted interfaces:
    [...]

'struct kmem_cache' changed:
  type size changed from 0 to 3200 (in bits)

  2086 impacted interfaces:
    [...]

'struct tipc_bearer' changed:
  type size changed from 0 to 2048 (in bits)

  1490 impacted interfaces:
    [...]

Change-Id: I084122b594bd2c917e3da45a3eadf301d85ec9e6
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-09-22 10:51:50 +01:00
Greg Kroah-Hartman
1a57a9fb0b ANDROID: abi update for 5.4-rc1-prerelease merge
Leaf changes summary: 482 artifacts changed (9 filtered out)
Changed leaf types summary: 194 (8 filtered out) leaf types changed
Removed/Changed/Added functions summary: 260 Removed, 18 Changed (1 filtered out), 0 Added function (187 filtered out)
Removed/Changed/Added variables summary: 4 Removed, 0 Changed, 0 Added variable (6 filtered out)
Function symbols changes summary: 2 Removed, 0 Added function symbols not referenced by debug info

260 Removed functions:

  [D] 'function int __des3_ede_setkey(u32*, u32*, const u8*, unsigned int)'
  [D] 'function void __iounmap(volatile void*)'
  [D] 'function u16 __ll_sc___cmpxchg_case_16(volatile void*, unsigned long int, u16)'
  [D] 'function u32 __ll_sc___cmpxchg_case_32(volatile void*, unsigned long int, u32)'
  [D] 'function u64 __ll_sc___cmpxchg_case_64(volatile void*, unsigned long int, u64)'
  [D] 'function u8 __ll_sc___cmpxchg_case_8(volatile void*, unsigned long int, u8)'
  [D] 'function u16 __ll_sc___cmpxchg_case_acq_16(volatile void*, unsigned long int, u16)'
  [D] 'function u32 __ll_sc___cmpxchg_case_acq_32(volatile void*, unsigned long int, u32)'
  [D] 'function u64 __ll_sc___cmpxchg_case_acq_64(volatile void*, unsigned long int, u64)'
  [D] 'function u8 __ll_sc___cmpxchg_case_acq_8(volatile void*, unsigned long int, u8)'
  [D] 'function u16 __ll_sc___cmpxchg_case_mb_16(volatile void*, unsigned long int, u16)'
  [D] 'function u32 __ll_sc___cmpxchg_case_mb_32(volatile void*, unsigned long int, u32)'
  [D] 'function u64 __ll_sc___cmpxchg_case_mb_64(volatile void*, unsigned long int, u64)'
  [D] 'function u8 __ll_sc___cmpxchg_case_mb_8(volatile void*, unsigned long int, u8)'
  [D] 'function u16 __ll_sc___cmpxchg_case_rel_16(volatile void*, unsigned long int, u16)'
  [D] 'function u32 __ll_sc___cmpxchg_case_rel_32(volatile void*, unsigned long int, u32)'
  [D] 'function u64 __ll_sc___cmpxchg_case_rel_64(volatile void*, unsigned long int, u64)'
  [D] 'function u8 __ll_sc___cmpxchg_case_rel_8(volatile void*, unsigned long int, u8)'
  [D] 'function long int __ll_sc___cmpxchg_double(unsigned long int, unsigned long int, unsigned long int, unsigned long int, volatile void*)'
  [D] 'function long int __ll_sc___cmpxchg_double_mb(unsigned long int, unsigned long int, unsigned long int, unsigned long int, volatile void*)'
  [D] 'function void __ll_sc_arch_atomic64_add(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_add_return(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_add_return_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_add_return_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_add_return_release(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic64_and(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic64_andnot(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_dec_if_positive(atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_add(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_add_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_add_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_add_release(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_and(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_and_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_and_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_and_release(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_andnot(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_andnot_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_andnot_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_andnot_release(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_or(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_or_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_or_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_or_release(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_sub(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_sub_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_sub_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_sub_release(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_xor(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_xor_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_xor_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_fetch_xor_release(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic64_or(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic64_sub(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_sub_return(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_sub_return_acquire(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_sub_return_relaxed(s64, atomic64_t*)'
  [D] 'function s64 __ll_sc_arch_atomic64_sub_return_release(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic64_xor(s64, atomic64_t*)'
  [D] 'function void __ll_sc_arch_atomic_add(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_add_return(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_add_return_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_add_return_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_add_return_release(int, atomic_t*)'
  [D] 'function void __ll_sc_arch_atomic_and(int, atomic_t*)'
  [D] 'function void __ll_sc_arch_atomic_andnot(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_add(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_add_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_add_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_add_release(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_and(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_and_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_and_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_and_release(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_andnot(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_andnot_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_andnot_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_andnot_release(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_or(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_or_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_or_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_or_release(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_sub(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_sub_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_sub_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_sub_release(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_xor(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_xor_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_xor_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_fetch_xor_release(int, atomic_t*)'
  [D] 'function void __ll_sc_arch_atomic_or(int, atomic_t*)'
  [D] 'function void __ll_sc_arch_atomic_sub(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_sub_return(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_sub_return_acquire(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_sub_return_relaxed(int, atomic_t*)'
  [D] 'function int __ll_sc_arch_atomic_sub_return_release(int, atomic_t*)'
  [D] 'function void __ll_sc_arch_atomic_xor(int, atomic_t*)'
  [D] 'function int __mmc_claim_host(mmc_host*, mmc_ctx*, atomic_t*)'
  [D] 'function int __mmc_send_status(mmc_card*, u32*, unsigned int)'
  [D] 'function int __sdhci_add_host(sdhci_host*)'
  [D] 'function void __sdhci_read_caps(sdhci_host*, u16*, u32*, u32*)'
  [D] 'function int __tc_indr_block_cb_register(net_device*, void*, tc_indr_block_bind_cb_t*, void*)'
  [D] 'function void __tc_indr_block_cb_unregister(net_device*, tc_indr_block_bind_cb_t*, void*)'
  [D] 'function void arch_set_max_freq_scale(cpumask*, unsigned long int)'
  [D] 'function bio* bio_map_kern(request_queue*, void*, unsigned int, gfp_t)'
  [D] 'function void blk_mq_complete_request_sync(request*)'
  [D] 'function device* bus_find_device_by_name(bus_type*, device*, const char*)'
  [D] 'function int crypto_aes_expand_key(crypto_aes_ctx*, const u8*, unsigned int)'
  [D] 'function unsigned long int des_ekey(u32*, const u8*)'
  [D] 'function int devm_of_led_classdev_register(device*, device_node*, led_classdev*)'
  [D] 'function int genphy_config_aneg(phy_device*)'
  [D] 'function int genphy_config_init(phy_device*)'
  [D] 'function int i2c_mux_add_adapter(i2c_mux_core*, u32, u32, unsigned int)'
  [D] 'function i2c_mux_core* i2c_mux_alloc(i2c_adapter*, device*, int, int, u32, void ()*, void ()*)'
  [D] 'function void i2c_mux_del_adapters(i2c_mux_core*)'
  [D] 'function i2c_adapter* i2c_root_adapter(device*)'
  [D] 'function int mmc_abort_tuning(mmc_host*, u32)'
  [D] 'function int mmc_add_host(mmc_host*)'
  [D] 'function mmc_host* mmc_alloc_host(int, device*)'
  [D] 'function int mmc_app_cmd(mmc_host*, mmc_card*)'
  [D] 'function unsigned int mmc_calc_max_discard(mmc_card*)'
  [D] 'function int mmc_can_discard(mmc_card*)'
  [D] 'function int mmc_can_erase(mmc_card*)'
  [D] 'function bool mmc_can_gpio_cd(mmc_host*)'
  [D] 'function bool mmc_can_gpio_ro(mmc_host*)'
  [D] 'function int mmc_can_sanitize(mmc_card*)'
  [D] 'function int mmc_can_secure_erase_trim(mmc_card*)'
  [D] 'function int mmc_can_trim(mmc_card*)'
  [D] 'function bool mmc_card_is_blockaddr(mmc_card*)'
  [D] 'function int mmc_cmdq_disable(mmc_card*)'
  [D] 'function int mmc_cmdq_enable(mmc_card*)'
  [D] 'function void mmc_command_done(mmc_host*, mmc_request*)'
  [D] 'function void mmc_cqe_post_req(mmc_host*, mmc_request*)'
  [D] 'function int mmc_cqe_recovery(mmc_host*)'
  [D] 'function void mmc_cqe_request_done(mmc_host*, mmc_request*)'
  [D] 'function int mmc_cqe_start_req(mmc_host*, mmc_request*)'
  [D] 'function int mmc_detect_card_removed(mmc_host*)'
  [D] 'function void mmc_detect_change(mmc_host*, unsigned long int)'
  [D] 'function int mmc_erase(mmc_card*, unsigned int, unsigned int, unsigned int)'
  [D] 'function int mmc_erase_group_aligned(mmc_card*, unsigned int, unsigned int)'
  [D] 'function int mmc_flush_cache(mmc_card*)'
  [D] 'function void mmc_free_host(mmc_host*)'
  [D] 'function void mmc_get_card(mmc_card*, mmc_ctx*)'
  [D] 'function int mmc_get_ext_csd(mmc_card*, u8**)'
  [D] 'function int mmc_gpio_get_cd(mmc_host*)'
  [D] 'function int mmc_gpio_get_ro(mmc_host*)'
  [D] 'function void mmc_gpio_set_cd_isr(mmc_host*, void ()*)'
  [D] 'function int mmc_gpio_set_cd_wake(mmc_host*, bool)'
  [D] 'function int mmc_gpiod_request_cd(mmc_host*, const char*, unsigned int, bool, unsigned int, bool*)'
  [D] 'function void mmc_gpiod_request_cd_irq(mmc_host*)'
  [D] 'function int mmc_gpiod_request_ro(mmc_host*, const char*, unsigned int, unsigned int, bool*)'
  [D] 'function int mmc_hw_reset(mmc_host*)'
  [D] 'function bool mmc_is_req_done(mmc_host*, mmc_request*)'
  [D] 'function int mmc_of_parse(mmc_host*)'
  [D] 'function int mmc_of_parse_voltage(device_node*, u32*)'
  [D] 'function void mmc_put_card(mmc_card*, mmc_ctx*)'
  [D] 'function int mmc_pwrseq_register(mmc_pwrseq*)'
  [D] 'function void mmc_pwrseq_unregister(mmc_pwrseq*)'
  [D] 'function int mmc_register_driver(mmc_driver*)'
  [D] 'function int mmc_regulator_get_supply(mmc_host*)'
  [D] 'function int mmc_regulator_set_ocr(mmc_host*, regulator*, unsigned short int)'
  [D] 'function int mmc_regulator_set_vqmmc(mmc_host*, mmc_ios*)'
  [D] 'function void mmc_release_host(mmc_host*)'
  [D] 'function void mmc_remove_host(mmc_host*)'
  [D] 'function void mmc_request_done(mmc_host*, mmc_request*)'
  [D] 'function void mmc_retune_pause(mmc_host*)'
  [D] 'function void mmc_retune_release(mmc_host*)'
  [D] 'function void mmc_retune_timer_stop(mmc_host*)'
  [D] 'function void mmc_retune_unpause(mmc_host*)'
  [D] 'function void mmc_run_bkops(mmc_card*)'
  [D] 'function int mmc_send_status(mmc_card*, u32*)'
  [D] 'function int mmc_send_tuning(mmc_host*, u32, int*)'
  [D] 'function int mmc_set_blocklen(mmc_card*, unsigned int)'
  [D] 'function void mmc_set_data_timeout(mmc_data*, const mmc_card*)'
  [D] 'function int mmc_start_request(mmc_host*, mmc_request*)'
  [D] 'function int mmc_sw_reset(mmc_host*)'
  [D] 'function int mmc_switch(mmc_card*, u8, u8, u8, unsigned int)'
  [D] 'function void mmc_unregister_driver(mmc_driver*)'
  [D] 'function int mmc_wait_for_cmd(mmc_host*, mmc_command*, int)'
  [D] 'function void mmc_wait_for_req(mmc_host*, mmc_request*)'
  [D] 'function void mmc_wait_for_req_done(mmc_host*, mmc_request*)'
  [D] 'function int of_gpio_simple_xlate(gpio_chip*, const of_phandle_args*, u32*)'
  [D] 'function int of_led_classdev_register(device*, device_node*, led_classdev*)'
  [D] 'function int sdhci_add_host(sdhci_host*)'
  [D] 'function void sdhci_adma_write_desc(sdhci_host*, void**, dma_addr_t, int, unsigned int)'
  [D] 'function sdhci_host* sdhci_alloc_host(device*, size_t)'
  [D] 'function u16 sdhci_calc_clk(sdhci_host*, unsigned int, unsigned int*)'
  [D] 'function void sdhci_cleanup_host(sdhci_host*)'
  [D] 'function void sdhci_cqe_disable(mmc_host*, bool)'
  [D] 'function void sdhci_cqe_enable(mmc_host*)'
  [D] 'function bool sdhci_cqe_irq(sdhci_host*, u32, int*, int*)'
  [D] 'function void sdhci_dumpregs(sdhci_host*)'
  [D] 'function void sdhci_enable_clk(sdhci_host*, u16)'
  [D] 'function void sdhci_enable_sdio_irq(mmc_host*, int)'
  [D] 'function void sdhci_enable_v4_mode(sdhci_host*)'
  [D] 'function void sdhci_end_tuning(sdhci_host*)'
  [D] 'function int sdhci_execute_tuning(mmc_host*, u32)'
  [D] 'function void sdhci_free_host(sdhci_host*)'
  [D] 'function void sdhci_get_property(platform_device*)'
  [D] 'function unsigned int sdhci_pltfm_clk_get_max_clock(sdhci_host*)'
  [D] 'function void sdhci_pltfm_free(platform_device*)'
  [D] 'function sdhci_host* sdhci_pltfm_init(platform_device*, const sdhci_pltfm_data*, size_t)'
  [D] 'function int sdhci_pltfm_register(platform_device*, const sdhci_pltfm_data*, size_t)'
  [D] 'function int sdhci_pltfm_resume(device*)'
  [D] 'function int sdhci_pltfm_suspend(device*)'
  [D] 'function int sdhci_pltfm_unregister(platform_device*)'
  [D] 'function void sdhci_remove_host(sdhci_host*, int)'
  [D] 'function void sdhci_request(mmc_host*, mmc_request*)'
  [D] 'function void sdhci_reset(sdhci_host*, u8)'
  [D] 'function void sdhci_reset_tuning(sdhci_host*)'
  [D] 'function int sdhci_resume_host(sdhci_host*)'
  [D] 'function int sdhci_runtime_resume_host(sdhci_host*, int)'
  [D] 'function int sdhci_runtime_suspend_host(sdhci_host*)'
  [D] 'function void sdhci_send_command(sdhci_host*, mmc_command*)'
  [D] 'function void sdhci_send_tuning(sdhci_host*, u32)'
  [D] 'function void sdhci_set_bus_width(sdhci_host*, int)'
  [D] 'function void sdhci_set_clock(sdhci_host*, unsigned int)'
  [D] 'function void sdhci_set_ios(mmc_host*, mmc_ios*)'
  [D] 'function void sdhci_set_power(sdhci_host*, unsigned char, unsigned short int)'
  [D] 'function void sdhci_set_power_noreg(sdhci_host*, unsigned char, unsigned short int)'
  [D] 'function void sdhci_set_uhs_signaling(sdhci_host*, unsigned int)'
  [D] 'function int sdhci_setup_host(sdhci_host*)'
  [D] 'function int sdhci_start_signal_voltage_switch(mmc_host*, mmc_ios*)'
  [D] 'function void sdhci_start_tuning(sdhci_host*)'
  [D] 'function int sdhci_suspend_host(sdhci_host*)'
  [D] 'function unsigned int sdio_align_size(sdio_func*, unsigned int)'
  [D] 'function void sdio_claim_host(sdio_func*)'
  [D] 'function int sdio_claim_irq(sdio_func*, sdio_irq_handler_t*)'
  [D] 'function int sdio_disable_func(sdio_func*)'
  [D] 'function int sdio_enable_func(sdio_func*)'
  [D] 'function unsigned char sdio_f0_readb(sdio_func*, unsigned int, int*)'
  [D] 'function void sdio_f0_writeb(sdio_func*, unsigned char, unsigned int, int*)'
  [D] 'function mmc_pm_flag_t sdio_get_host_pm_caps(sdio_func*)'
  [D] 'function int sdio_memcpy_fromio(sdio_func*, void*, unsigned int, int)'
  [D] 'function int sdio_memcpy_toio(sdio_func*, unsigned int, void*, int)'
  [D] 'function u8 sdio_readb(sdio_func*, unsigned int, int*)'
  [D] 'function u32 sdio_readl(sdio_func*, unsigned int, int*)'
  [D] 'function int sdio_readsb(sdio_func*, void*, unsigned int, int)'
  [D] 'function u16 sdio_readw(sdio_func*, unsigned int, int*)'
  [D] 'function int sdio_register_driver(sdio_driver*)'
  [D] 'function void sdio_release_host(sdio_func*)'
  [D] 'function int sdio_release_irq(sdio_func*)'
  [D] 'function void sdio_retune_crc_disable(sdio_func*)'
  [D] 'function void sdio_retune_crc_enable(sdio_func*)'
  [D] 'function void sdio_retune_hold_now(sdio_func*)'
  [D] 'function void sdio_retune_release(sdio_func*)'
  [D] 'function int sdio_set_block_size(sdio_func*, unsigned int)'
  [D] 'function int sdio_set_host_pm_flags(sdio_func*, mmc_pm_flag_t)'
  [D] 'function void sdio_signal_irq(mmc_host*)'
  [D] 'function void sdio_unregister_driver(sdio_driver*)'
  [D] 'function void sdio_writeb(sdio_func*, u8, unsigned int, int*)'
  [D] 'function u8 sdio_writeb_readb(sdio_func*, u8, unsigned int, int*)'
  [D] 'function void sdio_writel(sdio_func*, u32, unsigned int, int*)'
  [D] 'function int sdio_writesb(sdio_func*, unsigned int, void*, int)'
  [D] 'function void sdio_writew(sdio_func*, u16, unsigned int, int*)'
  [D] 'function int set_memory_nx(unsigned long int, int)'
  [D] 'function int set_memory_x(unsigned long int, int)'
  [D] 'function int tc_indr_block_cb_register(net_device*, void*, tc_indr_block_bind_cb_t*, void*)'
  [D] 'function void tc_indr_block_cb_unregister(net_device*, tc_indr_block_bind_cb_t*, void*)'
  [D] 'function void wakeup_source_prepare(wakeup_source*, const char*)'

18 functions with some sub-type change:

  [C]'function fwnode_handle* __irq_domain_alloc_fwnode(unsigned int, int, const char*, void*)' at irqdomain.c:64:1 has some sub-type changes:
    parameter 4 of type 'void*' changed:
    pointer type changed from: 'void*' to: 'phys_addr_t*'

  [C]'function request_queue* blk_mq_init_allocated_queue(blk_mq_tag_set*, request_queue*)' at blk-mq.c:2845:1 has some sub-type changes:
    parameter 3 of type 'typedef bool' was added

  [C]'function int br_ip6_fragment(net*, sock*, sk_buff*, nf_ct_bridge_frag_data*, void ()*)' at netfilter.c:115:1 has some sub-type changes:
    parameter 4 of type 'nf_ct_bridge_frag_data*' changed:
    pointer type changed from: 'nf_ct_bridge_frag_data*' to: 'nf_bridge_frag_data*'

  [C]'function opp_table* dev_pm_opp_attach_genpd(device*, const char**)' at core.c:1851:1 has some sub-type changes:
    parameter 3 of type 'device***' was added

  [C]'function void hrtimer_init_sleeper(hrtimer_sleeper*, task_struct*)' at hrtimer.c:1834:1 has some sub-type changes:
    parameter 3 of type 'enum hrtimer_mode' was added

    parameter 2 of type 'task_struct*' changed:
    entity changed from 'task_struct*' to 'typedef clockid_t' at types.h:27:1
    type size changed from 64 to 32 (in bits)

  [C]'function size_t iommu_unmap_fast(iommu_domain*, unsigned long int, size_t)' at iommu.c:1986:1 has some sub-type changes:
    parameter 4 of type 'iommu_iotlb_gather*' was added

  [C]'function int tc_setup_cb_call(tcf_block*, tc_setup_type, void*, bool)' at cls_api.c:3088:1 has some sub-type changes:
    parameter 5 of type 'typedef bool' was added

  [C]'function int tc_setup_flow_action(flow_action*, const tcf_exts*)' at cls_api.c:3330:1 has some sub-type changes:
    parameter 3 of type 'typedef bool' was added

  [C]'function int v4l2_g_ext_ctrls(v4l2_ctrl_handler*, media_device*, v4l2_ext_controls*)' at v4l2-ctrls.c:3536:1 has some sub-type changes:
    parameter 4 of type 'v4l2_ext_controls*' was added

    parameter 2 of type 'media_device*' changed:
    pointer type changed from: 'media_device*' to: 'video_device*'
    parameter 3 of type 'v4l2_ext_controls*' changed:
    pointer typabidiff: ../../src/abg-leaf-reporter.cc:241: virtual void abigail::comparison::leaf_reporter::report(const abigail::comparison::fn_parm_diff&, std::ostream&, const string&) const: Assertion `__abg_cond__' failed.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib9783322dee5506155272f6653f9a86d500fbd72
2019-09-21 13:33:12 +02:00
Greg Kroah-Hartman
9cd2d925fb ABI update for 5.3-final
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

2 functions with some sub-type change:

  [C]'function int fib_add_nexthop(sk_buff*, const fib_nh_common*, int)' at fib_semantics.c:1656:1 has some sub-type changes:
    parameter 4 of type 'typedef u8' was added

  [C]'function int fib_nexthop_info(sk_buff*, const fib_nh_common*, unsigned char*, bool)' at fib_semantics.c:1584:1 has some sub-type changes:
    parameter 5 of type 'typedef bool' was added

    parameter 4 of type 'typedef bool' changed:
    entity changed from 'typedef bool' to 'unsigned char*'
    type size changed from 8 to 64 (in bits)

'struct xfrm_if at xfrm.h:991:1' changed:
  type size changed from 512 to 320 (in bits)
  1 data member deletion:
    'net_device* xfrm_if::phydev', at offset 128 (in bits) at xfrm.h:994:1

  there are data member changes:
   'net* xfrm_if::net' offset changed from 192 to 128 (in bits) (by -64 bits)
   type 'struct xfrm_if_parms' of 'xfrm_if::p' changed:
     type size changed from 192 to 64 (in bits)
     1 data member deletion:
       'char xfrm_if_parms::name[16]', at offset 0 (in bits) at xfrm.h:986:1

     there are data member changes:
      'int xfrm_if_parms::link' offset changed from 128 to 0 (in bits) (by -128 bits)
      'u32 xfrm_if_parms::if_id' offset changed from 160 to 32 (in bits) (by -128 bits)

     one impacted interface:
       function void xfrm_if_register_cb(const xfrm_if_cb*), offset changed from 256 to 192 (in bits) (by -64 bits), size changed from 192 to 64 (in bits) (by -128 bits)
   'gro_cells xfrm_if::gro_cells' offset changed from 448 to 256 (in bits) (by -192 bits)

  one impacted interface:
    function void xfrm_if_register_cb(const xfrm_if_cb*)

'struct xfrm_if_parms at xfrm.h:985:1' changed:
  details were reported earlier

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If6b58c75efce9cec5d43b5e57c4bbe4f2ca85729
2019-09-16 09:16:31 +02:00
Sandeep Patil
7f4338a015 ABI: ion: Update abi for ion-core changes
ABI summary:
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function (1 filtered out)
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'enum ion_heap_type at ion.h:31:1' changed:
  type size hasn't changed
  2 enumerator changes:
    'ion_heap_type::ION_HEAP_TYPE_CHUNK' from value '2' to '3' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_CARVEOUT' from value '3' to '2' at ion.h:31:1

  6 impacted interfaces:
    function int __ion_device_add_heap(ion_heap*, module*)
    function int ion_buffer_zero(ion_buffer*)
    function void ion_device_remove_heap(ion_heap*)
    function void* ion_heap_map_kernel(ion_heap*, ion_buffer*)
    function int ion_heap_map_user(ion_heap*, ion_buffer*, vm_area_struct*)
    function void ion_heap_unmap_kernel(ion_heap*, ion_buffer*)

Bug: 140294230
Test: presubmit

Change-Id: Ic97dd7896366d5a353afa994e4db604b7d244ed9
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-09-10 05:24:25 -07:00
Tri Vo
8da0e7869d ANDROID: update ABI dump for interconnect patches
'struct icc_path at core.c:48:1' changed:
  type size hasn't changed
  there are data member changes:

  4 impacted interfaces:
    function icc_path* icc_get(device*, const int, const int)
    ...

'struct icc_provider at interconnect-provider.h:44:1' changed:
  type size changed from 640 to 704 (in bits)
  1 data member insertion:
    'void ()* icc_provider::pre_aggregate', at offset 384 (in bits) at interconnect-provider.h:52:1
  there are data member changes:
   'void ()* icc_provider::xlate' offset changed from 384 to 448 (in bits) (by +64 bits)
   'device* icc_provider::dev' offset changed from 448 to 512 (in bits) (by +64 bits)
   'int icc_provider::users' offset changed from 512 to 576 (in bits) (by +64 bits)
   'void* icc_provider::data' offset changed from 576 to 640 (in bits) (by +64 bits)

  12 impacted interfaces:
    function icc_path* icc_get(device*, const int, const int)
    ...

'struct icc_req at core.c:35:1' changed:
  type size changed from 320 to 384 (in bits)
  1 data member insertion:
    'u32 icc_req::tag', at offset 256 (in bits) at core.c:40:1
  there are data member changes:
   'u32 icc_req::avg_bw' offset changed from 256 to 288 (in bits) (by +32 bits)
   'u32 icc_req::peak_bw' offset changed from 288 to 320 (in bits) (by +32 bits)

  4 impacted interfaces:
    function icc_path* icc_get(device*, const int, const int)
    ...

Bug: 140294226
Change-Id: Ia306083e361c2e83e4652d138d15f642fe26dc99
Signed-off-by: Tri Vo <trong@google.com>
2019-09-06 11:03:29 -07:00
Alistair Delva
1fe6c8c9f8 ABI: Update ABI
Bug: 140316818
Change-Id: I9ff150e73da7e24bb877bca5b0b485d02bf08905
Signed-off-by: Alistair Delva <adelva@google.com>
2019-09-04 19:36:41 +00:00
Sandeep Patil
96e5ff3731 ABI: ion: Update abi for dma_buf_ops changes.
ABI Diff summary:
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct ion_heap at ion.h:125:1' changed:
  type size changed from 2048 to 3072 (in bits)
  1 data member insertion:
    'dma_buf_ops ion_heap::buf_ops', at offset 448 (in bits) at ion.h:123:1
  there are data member changes:
   'unsigned long int ion_heap::flags' offset changed from 448 to 1472 (in bits) (by +1024 bits)
   'unsigned int ion_heap::id' offset changed from 512 to 1536 (in bits) (by +1024 bits)
   'const char* ion_heap::name' offset changed from 576 to 1600 (in bits) (by +1024 bits)
   'module* ion_heap::owner' offset changed from 640 to 1664 (in bits) (by +1024 bits)
   'shrinker ion_heap::shrinker' offset changed from 704 to 1728 (in bits) (by +1024 bits)
   'list_head ion_heap::free_list' offset changed from 1216 to 2240 (in bits) (by +1024 bits)
   'size_t ion_heap::free_list_size' offset changed from 1344 to 2368 (in bits) (by +1024 bits)
   'spinlock_t ion_heap::free_lock' offset changed from 1408 to 2432 (in bits) (by +1024 bits)
   'wait_queue_head_t ion_heap::waitqueue' offset changed from 1472 to 2496 (in bits) (by +1024 bits)
   'task_struct* ion_heap::task' offset changed from 1664 to 2688 (in bits) (by +1024 bits)
   'u64 ion_heap::num_of_buffers' offset changed from 1728 to 2752 (in bits) (by +1024 bits)
   'u64 ion_heap::num_of_alloc_bytes' offset changed from 1792 to 2816 (in bits) (by +1024 bits)
   'u64 ion_heap::alloc_bytes_wm' offset changed from 1856 to 2880 (in bits) (by +1024 bits)
   'spinlock_t ion_heap::stat_lock' offset changed from 1920 to 2944 (in bits) (by +1024 bits)
   'dentry* ion_heap::debugfs_dir' offset changed from 1984 to 3008 (in bits) (by +1024 bits)

  6 impacted interfaces:
    function int __ion_device_add_heap(ion_heap*, module*)
    function int ion_buffer_zero(ion_buffer*)
    function void ion_device_remove_heap(ion_heap*)
    function void* ion_heap_map_kernel(ion_heap*, ion_buffer*)
    function int ion_heap_map_user(ion_heap*, ion_buffer*, vm_area_struct*)
    function void ion_heap_unmap_kernel(ion_heap*, ion_buffer*)

'struct ion_heap_ops at ion.h:71:1' changed:
  type size changed from 384 to 192 (in bits)
  3 data member deletions:
    'void ()* ion_heap_ops::map_kernel', at offset 128 (in bits) at ion.h:76:1

    'void ()* ion_heap_ops::unmap_kernel', at offset 192 (in bits) at ion.h:77:1

    'void ()* ion_heap_ops::map_user', at offset 256 (in bits) at ion.h:78:1

  there are data member changes:
   'void ()* ion_heap_ops::shrink' offset changed from 320 to 128 (in bits) (by -192 bits)

  6 impacted interfaces:
    function int __ion_device_add_heap(ion_heap*, module*)
    function int ion_buffer_zero(ion_buffer*)
    function void ion_device_remove_heap(ion_heap*)
    function void* ion_heap_map_kernel(ion_heap*, ion_buffer*)
    function int ion_heap_map_user(ion_heap*, ion_buffer*, vm_area_struct*)
    function void ion_heap_unmap_kernel(ion_heap*, ion_buffer*)

Bug: 133508579
Bug: 140290587
Test: n/a

Change-Id: I1942dd928308064e61021f898b5352dad6cb9a15
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-09-03 11:47:57 -07:00
Greg Kroah-Hartman
912a0d157e ANDROID: update abi for 5.3-rc7
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function (2 filtered out)
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct tcf_idrinfo at act_api.h:15:1' changed:
  type size changed from 448 to 512 (in bits)
  1 data member insertion:
    'net* tcf_idrinfo::net', at offset 448 (in bits) at act_api.h:18:1

  20 impacted interfaces:
    function int __tcf_idr_release(tc_action*, bool, bool)
    function int tc_setup_flow_action(flow_action*, const tcf_exts*)
    function int tcf_action_dump_1(sk_buff*, tc_action*, int, int)
    function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)
    function tcf_chain* tcf_action_set_ctrlact(tc_action*, int, tcf_chain*)
    function void tcf_exts_change(tcf_exts*, tcf_exts*)
    function void tcf_exts_destroy(tcf_exts*)
    function int tcf_exts_dump(sk_buff*, tcf_exts*)
    function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)
    function unsigned int tcf_exts_num_actions(tcf_exts*)
    function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, bool, bool, netlink_ext_ack*)
    function int tcf_generic_walker(tc_action_net*, sk_buff*, netlink_callback*, int, const tc_action_ops*, netlink_ext_ack*)
    function int tcf_idr_check_alloc(tc_action_net*, u32*, tc_action**, int)
    function void tcf_idr_cleanup(tc_action_net*, u32)
    function int tcf_idr_create(tc_action_net*, u32, nlattr*, tc_action**, const tc_action_ops*, int, bool)
    function void tcf_idr_insert(tc_action_net*, tc_action*)
    function int tcf_idr_search(tc_action_net*, tc_action**, u32)
    function void tcf_idrinfo_destroy(const tc_action_ops*, tcf_idrinfo*)
    function int tcf_register_action(tc_action_ops*, pernet_operations*)
    function int tcf_unregister_action(tc_action_ops*, pernet_operations*)

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I93e6afe37f8823ff5e565ed0284f012ede694d5a
2019-09-02 21:15:11 +02:00
Sandeep Patil
b9cbb991c9 ABI: ion: update abi for ion core changes to heap ids.
ABI Diff summary:

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'enum ion_heap_type at ion.h:28:1' changed:
  type size hasn't changed
  1 enumerator insertion:
    'ion_heap_type::ION_HEAP_TYPE_CUSTOM' value '16'

  6 enumerator changes:
    'ion_heap_type::ION_HEAP_TYPE_SYSTEM' from value '1' to '0' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_SYSTEM_CONTIG' from value '2' to '1' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_CARVEOUT' from value '4' to '3' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_CHUNK' from value '8' to '2' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_DMA' from value '16' to '4' at ion.h:31:1
    'ion_heap_type::ION_HEAP_TYPE_MAX' from value '32768' to '31' at ion.h:31:1

  6 impacted interfaces:
    function int __ion_device_add_heap(ion_heap*, module*)
    function int ion_buffer_zero(ion_buffer*)
    function void ion_device_remove_heap(ion_heap*)
    function void* ion_heap_map_kernel(ion_heap*, ion_buffer*)
    function int ion_heap_map_user(ion_heap*, ion_buffer*, vm_area_struct*)
    function void ion_heap_unmap_kernel(ion_heap*, ion_buffer*)

Bug: 133508579
Test: pre-submit

Change-Id: Id24f6e444e53fdecbdb9857acb4964235bc8f9c9
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-08-30 12:13:57 -07:00
Tri Vo
299e4ae14d ANDROID: update ABI dump
ABI test is complaining. I can't repro locally. Maybe updating ABI will
help.

Change-Id: I02d87a6b409f92371fadbf6377371f475c1aa61b
Signed-off-by: Tri Vo <trong@google.com>
2019-08-29 15:58:56 -07:00
Alistair Delva
4d088b8d14 ANDROID: update ABI for EFI
Change-Id: I52daf2ed3450726409baeecbf90abec16f8d719b
Signed-off-by: Alistair Delva <adelva@google.com>
2019-08-29 01:03:11 +00:00
Mark Salyzyn
cdecefc7c6 ANDROID: update ABI for CONFIG_NR_CPUS=32
Leaf changes summary: 39 artifacts changed
Changed leaf types summary: 19 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 10 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

10 functions with some sub-type change:

. . .

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Test: ABI_DEFINITION=common/abi_gki_aarch64.xml \
      BUILD_CONFIG=common/build.config.gki.aarch64 ./build/build_abi.sh
Bug: 139693734
Bug: 139406736
Bug: 139692860
Change-Id: Ie5f37566e748cc43ce247fe8f9f1f8931f6fc579
2019-08-26 13:02:28 -07:00
Greg Kroah-Hartman
a63d3d4324 ABI file updates for 5.3-rc5 and 5.3-rc6
Abridged summary:

Leaf changes summary: 7 artifacts changed
Changed leaf types summary: 4 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

2 functions with some sub-type change:

  [C]'function void inet_frag_reasm_finish(inet_frag_queue*, sk_buff*, void*)' at inet_fragment.c:477:1 has some sub-type changes:
    parameter 4 of type 'typedef bool' was added

'struct hci_dev at hci_core.h:215:1' changed:
  type size hasn't changed
  1 data member insertion:
    '__u8 hci_dev::min_enc_key_size', at offset 6208 (in bits) at hci_core.h:281:1
  there are data member changes:
   '__u8 hci_dev::ssp_debug_mode' offset changed from 6208 to 6216 (in bits) (by +8 bits)
   '__u8 hci_dev::hw_error_code' offset changed from 6216 to 6224 (in bits) (by +8 bits)

'struct net at net_namespace.h:54:1' changed:
  type size hasn't changed
  1 data member deletion:
    'atomic64_t net::cookie_gen', at offset 128 (in bits) at net_namespace.h:64:1

'struct ring_buffer at internal.h:13:1' changed:
  type size changed from 1920 to 1664 (in bits)
  24 data member deletions:
  4 data member insertions:
  there are data member changes:

struct zs_pool at zsmalloc.c:251:1' changed:
  type size changed from 17472 to 17792 (in bits)
  3 data member insertions:
    'wait_queue_head zs_pool::migration_wait', at offset 17472 (in bits) at zsmalloc.c:273:1
    'atomic_long_t zs_pool::isolated_pages', at offset 17664 (in bits) at zsmalloc.c:274:1
    'bool zs_pool::destroying', at offset 17728 (in bits) at zsmalloc.c:275:1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5328b37cf9f43d732d8b5768a662362a061afe8c
2019-08-26 17:06:08 +02:00