Merge android11-5.4.180+ (e7792e2) into msm-5.4

* refs/heads/tmp-e7792e2:
  BACKPORT: scsi: ufs: Resume ufs host before accessing ufs device
  BACKPORT: can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  ANDROID: ABI: Added symbols for allwinner
  BACKPORT: can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
  BACKPORT: esp: Fix possible buffer overflow in ESP transformation
  ANDROID: ABI: Update allowed list for QCOM
  ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree
  BACKPORT: staging: ion: Prevent incorrect reference counting behavour
  FROMGIT: net: fix wrong network header length
  ANDROID: fix KCFLAGS override by __ANDROID_COMMON_KERNEL__
  ANDROID: Add flag to indicate compiling against ACK
  BACKPORT: net/packet: fix slab-out-of-bounds access in packet_recvmsg()
  BACKPORT: block: Add a helper to validate the block size
  BACKPORT: virtio-blk: Use blk_validate_block_size() to validate block size
  BACKPORT: fuse: fix pipe buffer lifetime for direct_io
  ANDROID: ABI: Update allowed list for galaxy

 Conflicts:
	build.config.common
	drivers/scsi/ufs/ufs-sysfs.c

Change-Id: I7dc73e85ca1412a1d00422fd4a62724f65581aec
Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
This commit is contained in:
Srinivasarao Pathipati 2022-05-30 12:31:52 +05:30
commit eb03a71570
22 changed files with 1010 additions and 857 deletions

View File

@ -1 +1 @@
LTS_5.4.180_459ed28f1a6a
LTS_5.4.180_e7792e2790f3

View File

@ -64,6 +64,7 @@
<elf-symbol name='__dev_kfree_skb_any' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7bccf29a'/>
<elf-symbol name='__dev_kfree_skb_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xfcffcb84'/>
<elf-symbol name='__device_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd1f9973'/>
<elf-symbol name='__devm_alloc_percpu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf9cb7ec8'/>
<elf-symbol name='__devm_iio_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7cfc93a4'/>
<elf-symbol name='__devm_irq_alloc_descs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x37c9494f'/>
<elf-symbol name='__devm_of_phy_provider_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x8243aa64'/>
@ -488,6 +489,7 @@
<elf-symbol name='blk_unregister_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5c4265f6'/>
<elf-symbol name='blk_update_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x36b6a6bb'/>
<elf-symbol name='blk_verify_command' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x27639220'/>
<elf-symbol name='blkdev_fsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x22f7aa22'/>
<elf-symbol name='blkdev_get_by_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x17a8b51b'/>
<elf-symbol name='blkdev_get_by_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x22dbcad5'/>
<elf-symbol name='blkdev_issue_discard' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x696c0906'/>
@ -1018,12 +1020,14 @@
<elf-symbol name='devm_device_remove_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x82bb0910'/>
<elf-symbol name='devm_drm_panel_bridge_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x29e29887'/>
<elf-symbol name='devm_extcon_dev_allocate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x543207aa'/>
<elf-symbol name='devm_extcon_dev_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xabfd3657'/>
<elf-symbol name='devm_extcon_dev_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6d861bda'/>
<elf-symbol name='devm_extcon_dev_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4b84ac73'/>
<elf-symbol name='devm_extcon_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1124d044'/>
<elf-symbol name='devm_extcon_register_notifier_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1731ed27'/>
<elf-symbol name='devm_free_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1a64d87e'/>
<elf-symbol name='devm_fwnode_get_index_gpiod_from_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcd71b7d4'/>
<elf-symbol name='devm_gen_pool_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7e699039'/>
<elf-symbol name='devm_get_clk_from_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x8e672395'/>
<elf-symbol name='devm_gpio_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x890f6c2d'/>
<elf-symbol name='devm_gpio_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1ee80ca7'/>
@ -1694,6 +1698,7 @@
<elf-symbol name='firmware_request_nowarn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x724b9f3b'/>
<elf-symbol name='fixed_phy_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe7432f34'/>
<elf-symbol name='fixed_phy_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xedbb86d0'/>
<elf-symbol name='fixed_size_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xdcf160c'/>
<elf-symbol name='flush_dcache_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcf252725'/>
<elf-symbol name='flush_delayed_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1148c0ea'/>
<elf-symbol name='flush_signals' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x14b70834'/>
@ -1808,6 +1813,7 @@
<elf-symbol name='get_pid_task' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x19c85d4a'/>
<elf-symbol name='get_random_bytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x79aa04a2'/>
<elf-symbol name='get_random_u32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd36dc10c'/>
<elf-symbol name='get_random_u64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe3ff2c41'/>
<elf-symbol name='get_task_exe_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1ec941e0'/>
<elf-symbol name='get_task_mm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x27e368db'/>
<elf-symbol name='get_task_pid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x8daa1003'/>
@ -2384,6 +2390,7 @@
<elf-symbol name='kmemdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x66b4cc41'/>
<elf-symbol name='kmemdup_nul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb3f548ad'/>
<elf-symbol name='kmsg_dump_get_line' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2e78702e'/>
<elf-symbol name='kmsg_dump_rewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf6449ec8'/>
<elf-symbol name='kobject_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd65ba935'/>
<elf-symbol name='kobject_create_and_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xecece113'/>
<elf-symbol name='kobject_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x13530317'/>
@ -2764,6 +2771,7 @@
<elf-symbol name='ns_to_timespec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x66decfd5'/>
<elf-symbol name='ns_to_timespec64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1e1e140e'/>
<elf-symbol name='ns_to_timeval' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2f548802'/>
<elf-symbol name='nsec_to_clock_t' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd0d036a6'/>
<elf-symbol name='nsecs_to_jiffies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xffae8e8b'/>
<elf-symbol name='nvdimm_bus_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xc163a424'/>
<elf-symbol name='nvdimm_bus_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6077505c'/>
@ -4337,6 +4345,7 @@
<elf-symbol name='unregister_blkdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb5a459dc'/>
<elf-symbol name='unregister_chrdev_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6091b333'/>
<elf-symbol name='unregister_console' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb254db03'/>
<elf-symbol name='unregister_die_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x121d958a'/>
<elf-symbol name='unregister_filesystem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe081363f'/>
<elf-symbol name='unregister_gadget_item' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd22432a4'/>
<elf-symbol name='unregister_inet6addr_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2fe252cc'/>
@ -4857,7 +4866,9 @@
<elf-symbol name='__tracepoint_android_vh_ipi_stop' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb5891373'/>
<elf-symbol name='__tracepoint_android_vh_is_fpsimd_save' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf6fb8799'/>
<elf-symbol name='__tracepoint_android_vh_kfree_skb' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7d552cd5'/>
<elf-symbol name='__tracepoint_android_vh_printk_store' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7a366615'/>
<elf-symbol name='__tracepoint_android_vh_ptype_head' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x6696ea02'/>
<elf-symbol name='__tracepoint_android_vh_show_regs' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2510820f'/>
<elf-symbol name='__tracepoint_android_vh_wq_lockup_pool' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x3960091a'/>
<elf-symbol name='__tracepoint_device_pm_callback_end' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1102bd7d'/>
<elf-symbol name='__tracepoint_device_pm_callback_start' size='48' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb99c3304'/>
@ -4928,6 +4939,7 @@
<elf-symbol name='irq_generic_chip_ops' size='80' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf3163726'/>
<elf-symbol name='jiffies' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x15ba50a6'/>
<elf-symbol name='jiffies_64' size='8' type='object-type' binding='global-binding' visibility='default-visibility' alias='jiffies' is-defined='yes' crc='0x55e77e8'/>
<elf-symbol name='kernel_cpustat' size='80' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb58aeaab'/>
<elf-symbol name='kernel_kobj' size='8' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd875384b'/>
<elf-symbol name='kimage_voffset' size='8' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe4bbc1dd'/>
<elf-symbol name='kmalloc_caches' size='224' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xca6b9890'/>
@ -28343,7 +28355,7 @@
<pointer-type-def type-id='277029da' size-in-bits='64' id='3cce524c'/>
<pointer-type-def type-id='c435a5bb' size-in-bits='64' id='cd97030f'/>
<pointer-type-def type-id='32358857' size-in-bits='64' id='6d30564f'/>
<enum-decl name='__anonymous_enum__3' is-anonymous='yes' filepath='include/linux/phy.h' line='80' column='1' id='08f5ca19'>
<enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/phy.h' line='80' column='1' id='08f5ca19'>
<underlying-type type-id='9cac1fee'/>
<enumerator name='PHY_INTERFACE_MODE_NA' value='0'/>
<enumerator name='PHY_INTERFACE_MODE_INTERNAL' value='1'/>
@ -28631,7 +28643,7 @@
<var-decl name='work' type-id='ef9025d0' visibility='default' filepath='mm/slab.h' line='91' column='1'/>
</data-member>
</union-decl>
<union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='298' column='1' id='9114ebb7'>
<union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='298' column='1' id='9114ebb7'>
<data-member access='public'>
<var-decl name='obj' type-id='c66f5ec5' visibility='default' filepath='include/linux/fsnotify_backend.h' line='300' column='1'/>
</data-member>
@ -55580,6 +55592,8 @@
<var-decl name='__tracepoint_android_vh_kfree_skb' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_kfree_skb' visibility='default' filepath='include/trace/hooks/net.h' line='22' column='1' elf-symbol-id='__tracepoint_android_vh_kfree_skb'/>
<var-decl name='__tracepoint_android_vh_is_fpsimd_save' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_is_fpsimd_save' visibility='default' filepath='include/trace/hooks/fpsimd.h' line='16' column='1' elf-symbol-id='__tracepoint_android_vh_is_fpsimd_save'/>
<var-decl name='__tracepoint_android_vh_ipi_stop' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_ipi_stop' visibility='default' filepath='include/trace/hooks/debug.h' line='15' column='1' elf-symbol-id='__tracepoint_android_vh_ipi_stop'/>
<var-decl name='__tracepoint_android_vh_printk_store' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_printk_store' visibility='default' filepath='include/trace/hooks/debug.h' line='19' column='1' elf-symbol-id='__tracepoint_android_vh_printk_store'/>
<var-decl name='__tracepoint_android_vh_show_regs' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_show_regs' visibility='default' filepath='include/trace/hooks/minidump.h' line='14' column='1' elf-symbol-id='__tracepoint_android_vh_show_regs'/>
<var-decl name='__tracepoint_android_vh_wq_lockup_pool' type-id='4ca0c298' mangled-name='__tracepoint_android_vh_wq_lockup_pool' visibility='default' filepath='include/trace/hooks/wqlockup.h' line='15' column='1' elf-symbol-id='__tracepoint_android_vh_wq_lockup_pool'/>
</abi-instr>
<abi-instr address-size='64' path='drivers/base/arch_topology.c' language='LANG_C89'>
@ -56128,6 +56142,12 @@
<parameter type-id='2aee9912' name='ap' filepath='drivers/base/devres.c' line='889' column='1'/>
<return type-id='26a90f95'/>
</function-decl>
<function-decl name='__devm_alloc_percpu' mangled-name='__devm_alloc_percpu' filepath='drivers/base/devres.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_alloc_percpu'>
<parameter type-id='fa0b179b' name='dev' filepath='drivers/base/devres.c' line='1081' column='1'/>
<parameter type-id='b59d7dce' name='size' filepath='drivers/base/devres.c' line='1081' column='1'/>
<parameter type-id='b59d7dce' name='align' filepath='drivers/base/devres.c' line='1082' column='1'/>
<return type-id='eaa32e2f'/>
</function-decl>
</abi-instr>
<abi-instr address-size='64' path='drivers/base/driver.c' language='LANG_C89'>
<function-decl name='driver_find_device' mangled-name='driver_find_device' filepath='drivers/base/driver.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_find_device'>
@ -67807,6 +67827,11 @@
<parameter type-id='5b2fd8e8' name='supported_cable' filepath='drivers/extcon/devres.c' line='66' column='1'/>
<return type-id='c0d6fada'/>
</function-decl>
<function-decl name='devm_extcon_dev_free' mangled-name='devm_extcon_dev_free' filepath='drivers/extcon/devres.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_dev_free'>
<parameter type-id='fa0b179b' name='dev' filepath='drivers/extcon/devres.c' line='97' column='1'/>
<parameter type-id='c0d6fada' name='edev' filepath='drivers/extcon/devres.c' line='97' column='1'/>
<return type-id='48b5725f'/>
</function-decl>
<function-decl name='devm_extcon_dev_register' mangled-name='devm_extcon_dev_register' filepath='drivers/extcon/devres.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_dev_register'>
<parameter type-id='fa0b179b' name='dev' filepath='drivers/extcon/devres.c' line='118' column='1'/>
<parameter type-id='c0d6fada' name='edev' filepath='drivers/extcon/devres.c' line='118' column='1'/>
@ -108155,7 +108180,7 @@
<enumerator name='PHY_NOLINK' value='5'/>
</enum-decl>
<typedef-decl name='phy_interface_t' type-id='08f5ca19' filepath='include/linux/phy.h' line='107' column='1' id='d61bf978'/>
<enum-decl name='__anonymous_enum__3' is-anonymous='yes' filepath='include/linux/phy.h' line='80' column='1' id='08f5ca19'>
<enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/phy.h' line='80' column='1' id='08f5ca19'>
<underlying-type type-id='9cac1fee'/>
<enumerator name='PHY_INTERFACE_MODE_NA' value='0'/>
<enumerator name='PHY_INTERFACE_MODE_INTERNAL' value='1'/>
@ -145183,6 +145208,13 @@
<parameter type-id='95e97e5e' name='size' filepath='fs/block_dev.c' line='157' column='1'/>
<return type-id='95e97e5e'/>
</function-decl>
<function-decl name='blkdev_fsync' mangled-name='blkdev_fsync' filepath='fs/block_dev.c' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blkdev_fsync'>
<parameter type-id='77e79a4b' name='filp' filepath='fs/block_dev.c' line='665' column='1'/>
<parameter type-id='69bf7bee' name='start' filepath='fs/block_dev.c' line='665' column='1'/>
<parameter type-id='69bf7bee' name='end' filepath='fs/block_dev.c' line='665' column='1'/>
<parameter type-id='95e97e5e' name='datasync' filepath='fs/block_dev.c' line='665' column='1'/>
<return type-id='95e97e5e'/>
</function-decl>
<function-decl name='bd_link_disk_holder' mangled-name='bd_link_disk_holder' filepath='fs/block_dev.c' line='1307' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bd_link_disk_holder'>
<parameter type-id='b88dd945' name='bdev' filepath='fs/block_dev.c' line='1307' column='1'/>
<parameter type-id='33c599da' name='disk' filepath='fs/block_dev.c' line='1307' column='1'/>
@ -146812,6 +146844,10 @@
<parameter type-id='c0190993'/>
<return type-id='3a47d82b'/>
</function-decl>
<function-decl name='nsec_to_clock_t' mangled-name='nsec_to_clock_t' filepath='include/linux/jiffies.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nsec_to_clock_t'>
<parameter type-id='3a47d82b'/>
<return type-id='3a47d82b'/>
</function-decl>
</abi-instr>
<abi-instr address-size='64' path='fs/proc/uptime.c' language='LANG_C89'>
<enum-decl name='tk_offsets' filepath='include/linux/timekeeping.h' line='60' column='1' id='73bb584e'>
@ -147183,6 +147219,13 @@
<parameter type-id='95e97e5e' name='whence' filepath='fs/read_write.c' line='144' column='1'/>
<return type-id='69bf7bee'/>
</function-decl>
<function-decl name='fixed_size_llseek' mangled-name='fixed_size_llseek' filepath='fs/read_write.c' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fixed_size_llseek'>
<parameter type-id='77e79a4b' name='file' filepath='fs/read_write.c' line='162' column='1'/>
<parameter type-id='69bf7bee' name='offset' filepath='fs/read_write.c' line='162' column='1'/>
<parameter type-id='95e97e5e' name='whence' filepath='fs/read_write.c' line='162' column='1'/>
<parameter type-id='69bf7bee' name='size' filepath='fs/read_write.c' line='162' column='1'/>
<return type-id='69bf7bee'/>
</function-decl>
<function-decl name='noop_llseek' mangled-name='noop_llseek' filepath='fs/read_write.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='noop_llseek'>
<parameter type-id='77e79a4b' name='file' filepath='fs/read_write.c' line='224' column='1'/>
<parameter type-id='69bf7bee' name='offset' filepath='fs/read_write.c' line='224' column='1'/>
@ -147366,7 +147409,7 @@
<var-decl name='val' type-id='e4266c7e' visibility='default' filepath='include/uapi/asm-generic/posix_types.h' line='80' column='1'/>
</data-member>
</class-decl>
<union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='298' column='1' id='9114ebb7'>
<union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='298' column='1' id='9114ebb7'>
<data-member access='public'>
<var-decl name='obj' type-id='c66f5ec5' visibility='default' filepath='include/linux/fsnotify_backend.h' line='300' column='1'/>
</data-member>
@ -149785,6 +149828,9 @@
<parameter type-id='f23e2572'/>
<return type-id='c894953d'/>
</function-decl>
<function-decl name='get_random_u64' mangled-name='get_random_u64' filepath='include/linux/random.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_random_u64'>
<return type-id='3a47d82b'/>
</function-decl>
<function-decl name='check_zeroed_user' mangled-name='check_zeroed_user' filepath='include/linux/uaccess.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='check_zeroed_user'>
<parameter type-id='eaa32e2f'/>
<parameter type-id='7359adad'/>
@ -150558,6 +150604,10 @@
<parameter type-id='d504f73d' name='nb' filepath='kernel/notifier.c' line='558' column='1'/>
<return type-id='95e97e5e'/>
</function-decl>
<function-decl name='unregister_die_notifier' mangled-name='unregister_die_notifier' filepath='kernel/notifier.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_die_notifier'>
<parameter type-id='d504f73d' name='nb' filepath='kernel/notifier.c' line='565' column='1'/>
<return type-id='95e97e5e'/>
</function-decl>
</abi-instr>
<abi-instr address-size='64' path='kernel/panic.c' language='LANG_C89'>
<class-decl name='__va_list' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/panic.c' line='170' column='1' id='5f919c1f'>
@ -150913,6 +150963,10 @@
<parameter type-id='78c01427' name='len' filepath='kernel/printk/printk.c' line='3260' column='1'/>
<return type-id='b50a4934'/>
</function-decl>
<function-decl name='kmsg_dump_rewind' mangled-name='kmsg_dump_rewind' filepath='kernel/printk/printk.c' line='3392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmsg_dump_rewind'>
<parameter type-id='a83d0951' name='dumper' filepath='kernel/printk/printk.c' line='3392' column='1'/>
<return type-id='48b5725f'/>
</function-decl>
<function-type size-in-bits='64' id='79b655f7'>
<parameter type-id='a83d0951'/>
<parameter type-id='48f4c0e2'/>
@ -151104,6 +151158,9 @@
</function-decl>
</abi-instr>
<abi-instr address-size='64' path='kernel/sched/core.c' language='LANG_C89'>
<array-type-def dimensions='1' type-id='91ce1af9' size-in-bits='640' id='08a70b25'>
<subrange length='10' type-id='7ff19f0f' id='487da03a'/>
</array-type-def>
<class-decl name='kernel_stat' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kernel_stat.h' line='38' column='1' id='153750ef'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='irqs_sum' type-id='7359adad' visibility='default' filepath='include/linux/kernel_stat.h' line='39' column='1'/>
@ -151112,6 +151169,11 @@
<var-decl name='softirqs' type-id='67c1c82c' visibility='default' filepath='include/linux/kernel_stat.h' line='40' column='1'/>
</data-member>
</class-decl>
<class-decl name='kernel_cpustat' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/kernel_stat.h' line='34' column='1' id='7b5f27b3'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='cpustat' type-id='08a70b25' visibility='default' filepath='include/linux/kernel_stat.h' line='35' column='1'/>
</data-member>
</class-decl>
<class-decl name='sched_attr' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/sched/types.h' line='100' column='1' id='6a32253a'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='size' type-id='3f1a6b60' visibility='default' filepath='include/uapi/linux/sched/types.h' line='101' column='1'/>
@ -151154,6 +151216,7 @@
<var-decl name='__tracepoint_pelt_cfs_tp' type-id='4ca0c298' mangled-name='__tracepoint_pelt_cfs_tp' visibility='default' filepath='include/trace/events/sched.h' line='628' column='1' elf-symbol-id='__tracepoint_pelt_cfs_tp'/>
<var-decl name='runqueues' type-id='d5ee6a94' mangled-name='runqueues' visibility='default' filepath='kernel/sched/core.c' line='44' column='1' elf-symbol-id='runqueues'/>
<var-decl name='kstat' type-id='153750ef' mangled-name='kstat' visibility='default' filepath='kernel/sched/core.c' line='3638' column='1' elf-symbol-id='kstat'/>
<var-decl name='kernel_cpustat' type-id='7b5f27b3' mangled-name='kernel_cpustat' visibility='default' filepath='kernel/sched/core.c' line='3639' column='1' elf-symbol-id='kernel_cpustat'/>
<function-decl name='smp_call_function_single_async' mangled-name='smp_call_function_single_async' filepath='include/linux/smp.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='smp_call_function_single_async'>
<parameter type-id='95e97e5e'/>
<parameter type-id='d5df7665'/>
@ -165057,6 +165120,13 @@
<parameter type-id='7359adad' name='start_addr' filepath='lib/genalloc.c' line='749' column='1'/>
<return type-id='7359adad'/>
</function-decl>
<function-decl name='devm_gen_pool_create' mangled-name='devm_gen_pool_create' filepath='lib/genalloc.c' line='822' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gen_pool_create'>
<parameter type-id='fa0b179b' name='dev' filepath='lib/genalloc.c' line='822' column='1'/>
<parameter type-id='95e97e5e' name='min_alloc_order' filepath='lib/genalloc.c' line='822' column='1'/>
<parameter type-id='95e97e5e' name='nid' filepath='lib/genalloc.c' line='823' column='1'/>
<parameter type-id='80f4b756' name='name' filepath='lib/genalloc.c' line='823' column='1'/>
<return type-id='75b9415a'/>
</function-decl>
<function-decl name='of_gen_pool_get' mangled-name='of_gen_pool_get' filepath='lib/genalloc.c' line='872' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_gen_pool_get'>
<parameter type-id='9a537bbe' name='np' filepath='lib/genalloc.c' line='872' column='1'/>
<parameter type-id='80f4b756' name='propname' filepath='lib/genalloc.c' line='873' column='1'/>
@ -168808,7 +168878,7 @@
<var-decl name='mmp' type-id='0009269e' visibility='default' filepath='include/linux/skbuff.h' line='482' column='1'/>
</data-member>
</class-decl>
<union-decl name='__anonymous_union__15' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='465' column='1' id='a27049de'>
<union-decl name='__anonymous_union__5' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='465' column='1' id='a27049de'>
<data-member access='public'>
<var-decl name='' type-id='3ee84947' visibility='default' filepath='include/linux/skbuff.h' line='466' column='1'/>
</data-member>
@ -168816,7 +168886,7 @@
<var-decl name='' type-id='0efb3709' visibility='default' filepath='include/linux/skbuff.h' line='470' column='1'/>
</data-member>
</union-decl>
<class-decl name='__anonymous_struct__6' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='466' column='1' id='3ee84947'>
<class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='466' column='1' id='3ee84947'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='desc' type-id='7359adad' visibility='default' filepath='include/linux/skbuff.h' line='467' column='1'/>
</data-member>
@ -168824,7 +168894,7 @@
<var-decl name='ctx' type-id='eaa32e2f' visibility='default' filepath='include/linux/skbuff.h' line='468' column='1'/>
</data-member>
</class-decl>
<class-decl name='__anonymous_struct__7' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='470' column='1' id='0efb3709'>
<class-decl name='__anonymous_struct__4' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='470' column='1' id='0efb3709'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='id' type-id='19c2251e' visibility='default' filepath='include/linux/skbuff.h' line='471' column='1'/>
</data-member>
@ -173561,7 +173631,7 @@
<var-decl name='' type-id='eb542e10' visibility='default' filepath='include/net/mac80211.h' line='1786' column='1'/>
</data-member>
</class-decl>
<union-decl name='__anonymous_union__4' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='include/net/mac80211.h' line='1786' column='1' id='eb542e10'>
<union-decl name='__anonymous_union__17' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='include/net/mac80211.h' line='1786' column='1' id='eb542e10'>
<data-member access='public'>
<var-decl name='tkip' type-id='5a0ae575' visibility='default' filepath='include/net/mac80211.h' line='1790' column='1'/>
</data-member>
@ -173725,7 +173795,7 @@
<enumerator name='BAR_RX_EVENT' value='2'/>
<enumerator name='BA_FRAME_TIMEOUT' value='3'/>
</enum-decl>
<union-decl name='__anonymous_union__5' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/mac80211.h' line='456' column='1' id='2a1a3e21'>
<union-decl name='__anonymous_union__18' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/mac80211.h' line='456' column='1' id='2a1a3e21'>
<data-member access='public'>
<var-decl name='rssi' type-id='1569e170' visibility='default' filepath='include/net/mac80211.h' line='457' column='1'/>
</data-member>

View File

@ -1,4 +1,6 @@
[abi_symbol_list]
LZ4_decompress_safe
PDE_DATA
___ratelimit
__alloc_disk_node
__alloc_pages_nodemask
@ -40,6 +42,7 @@
__cpuhp_setup_state_cpuslocked
__dev_kfree_skb_any
__dev_kfree_skb_irq
__devm_alloc_percpu
__devm_iio_device_register
__devm_irq_alloc_descs
__devm_of_phy_provider_register
@ -150,9 +153,9 @@
__srcu_read_unlock
__stack_chk_fail
__stack_chk_guard
__sw_hweight8
__sw_hweight32
__sw_hweight64
__sw_hweight8
__sync_dirty_buffer
__task_pid_nr_ns
__tasklet_hi_schedule
@ -162,7 +165,9 @@
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_android_vh_kfree_skb
__tracepoint_android_vh_printk_store
__tracepoint_android_vh_ptype_head
__tracepoint_android_vh_show_regs
__tracepoint_android_vh_wq_lockup_pool
__tracepoint_device_pm_callback_end
__tracepoint_device_pm_callback_start
@ -286,6 +291,7 @@
blk_rq_unmap_user
blk_stat_enable_accounting
blk_verify_command
blkdev_fsync
blkdev_get_by_dev
blkdev_get_by_path
blkdev_put
@ -590,6 +596,7 @@
devm_extcon_register_notifier
devm_free_irq
devm_fwnode_get_index_gpiod_from_child
devm_gen_pool_create
devm_gpio_request
devm_gpio_request_one
devm_gpiochip_add_data
@ -609,6 +616,7 @@
devm_kmalloc
devm_kmemdup
devm_kstrdup
devm_kstrdup_const
devm_led_classdev_register_ext
devm_nvmem_cell_get
devm_nvmem_device_get
@ -727,8 +735,8 @@
dmaengine_unmap_put
dmam_alloc_attrs
dmam_free_coherent
do_exit
do_SAK
do_exit
do_wait_intr
down
down_interruptible
@ -1011,6 +1019,7 @@
find_vpid
finish_wait
firmware_request_nowarn
fixed_size_llseek
flush_dcache_page
flush_delayed_work
flush_work
@ -1055,8 +1064,10 @@
generic_file_splice_read
generic_handle_irq
generic_mii_ioctl
generic_perform_write
generic_read_dir
generic_shutdown_super
generic_write_checks
genl_register_family
genl_unregister_family
genlmsg_put
@ -1068,6 +1079,7 @@
get_pid_task
get_random_bytes
get_random_u32
get_random_u64
get_task_exe_file
get_task_mm
get_task_pid
@ -1101,6 +1113,7 @@
gpio_to_desc
gpiochip_add_data_with_key
gpiochip_add_pin_range
gpiochip_find
gpiochip_generic_free
gpiochip_generic_request
gpiochip_get_data
@ -1110,10 +1123,10 @@
gpiochip_remove
gpiochip_set_nested_irqchip
gpiochip_unlock_as_irq
gpiod_cansleep
gpiod_direction_input
gpiod_direction_output
gpiod_direction_output_raw
gpiod_cansleep
gpiod_get_optional
gpiod_get_raw_value
gpiod_get_raw_value_cansleep
@ -1223,9 +1236,9 @@
iio_read_channel_processed
iio_read_channel_raw
import_iovec
in6_pton
in_aton
in_egroup_p
in6_pton
init_dummy_netdev
init_net
init_srcu_struct
@ -1309,6 +1322,7 @@
ion_heap_unmap_kernel
ion_query_heaps_kernel
iounmap
iov_iter_kvec
iput
ipv6_stub
irq_chip_ack_parent
@ -1362,14 +1376,15 @@
iterate_dir
iterate_fd
jiffies
jiffies64_to_msecs
jiffies_64_to_clock_t
jiffies_to_msecs
jiffies_to_usecs
jiffies64_to_msecs
kasprintf
kern_path
kernel_bind
kernel_connect
kernel_cpustat
kernel_getsockname
kernel_kobj
kernel_read
@ -1401,6 +1416,8 @@
kmem_cache_free
kmemdup
kmemdup_nul
kmsg_dump_get_line
kmsg_dump_rewind
kobject_add
kobject_create_and_add
kobject_del
@ -1478,7 +1495,6 @@
lockref_get
lookup_one_len
loops_per_jiffy
LZ4_decompress_safe
map_vm_area
match_int
match_token
@ -1593,6 +1609,7 @@
ns_to_timespec
ns_to_timespec64
ns_to_timeval
nsec_to_clock_t
nsecs_to_jiffies
nvmem_cell_get
nvmem_cell_put
@ -1770,7 +1787,6 @@
pci_write_config_dword
pcie_capability_read_word
pcim_enable_device
PDE_DATA
perf_trace_buf_alloc
perf_trace_run_bpf_submit
pfn_valid
@ -1940,6 +1956,7 @@
regmap_bulk_write
regmap_field_read
regmap_field_update_bits_base
regmap_mmio_detach_clk
regmap_multi_reg_write
regmap_multi_reg_write_bypassed
regmap_raw_read
@ -1979,7 +1996,6 @@
regulatory_set_wiphy_regd_sync_rtnl
release_firmware
release_sock
regmap_mmio_detach_clk
remap_pfn_range
remap_vmalloc_range
remove_proc_entry
@ -2023,6 +2039,8 @@
rpmsg_trysend
rpmsg_unregister_device
rps_needed
rt_mutex_lock
rt_mutex_unlock
rtc_class_close
rtc_class_open
rtc_read_time
@ -2033,8 +2051,6 @@
rtnl_is_locked
rtnl_lock
rtnl_unlock
rt_mutex_lock
rt_mutex_unlock
runqueues
save_stack_trace
save_stack_trace_tsk
@ -2532,6 +2548,8 @@
unlock_rename
unmap_mapping_range
unregister_chrdev_region
unregister_console
unregister_die_notifier
unregister_filesystem
unregister_inet6addr_notifier
unregister_inetaddr_notifier
@ -2722,7 +2740,6 @@
usbnet_write_cmd_nopm
user_path_at_empty
usleep_range
v4l_bound_align_image
v4l2_ctrl_find
v4l2_ctrl_g_ctrl
v4l2_ctrl_get_name
@ -2764,6 +2781,7 @@
v4l2_subdev_call_wrappers
v4l2_subdev_init
v4l2_type_names
v4l_bound_align_image
vabits_actual
vb2_buffer_done
vb2_common_vm_ops
@ -2810,6 +2828,7 @@
vfs_create
vfs_fallocate
vfs_fsync
vfs_fsync_range
vfs_getattr
vfs_getxattr
vfs_link

View File

@ -308,3 +308,6 @@
dev_pm_opp_put_prop_name
dev_pm_opp_put_supported_hw
dev_pm_opp_set_prop_name
# required by disp.ko
devm_extcon_dev_free

View File

@ -9,6 +9,7 @@ CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r416183b/bin
DEPMOD=depmod
BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86
KCFLAGS="${KCFLAGS} -D__ANDROID_COMMON_KERNEL__"
STOP_SHIP_TRACEPRINTK=1
IN_KERNEL_MODULES=1
DO_NOT_STRIP_MODULES=1

View File

@ -989,9 +989,17 @@ static int virtblk_probe(struct virtio_device *vdev)
err = virtio_cread_feature(vdev, VIRTIO_BLK_F_BLK_SIZE,
struct virtio_blk_config, blk_size,
&blk_size);
if (!err)
if (!err) {
err = blk_validate_block_size(blk_size);
if (err) {
dev_err(&vdev->dev,
"virtio_blk: invalid block size: 0x%x\n",
blk_size);
goto out_cleanup_disk;
}
blk_queue_logical_block_size(q, blk_size);
else
} else
blk_size = queue_logical_block_size(q);
/* Use topology information if available */
@ -1061,6 +1069,8 @@ static int virtblk_probe(struct virtio_device *vdev)
device_add_disk(&vdev->dev, vblk->disk, virtblk_attr_groups);
return 0;
out_cleanup_disk:
blk_cleanup_queue(vblk->disk->queue);
out_free_tags:
blk_mq_free_tag_set(&vblk->tag_set);
out_put_disk:

View File

@ -599,6 +599,7 @@ static void dm_bow_dtr(struct dm_target *ti)
struct bow_context *bc = (struct bow_context *) ti->private;
struct kobject *kobj;
mutex_lock(&bc->ranges_lock);
while (rb_first(&bc->ranges)) {
struct bow_range *br = container_of(rb_first(&bc->ranges),
struct bow_range, node);
@ -606,6 +607,8 @@ static void dm_bow_dtr(struct dm_target *ti)
rb_erase(&br->node, &bc->ranges);
kfree(br);
}
mutex_unlock(&bc->ranges_lock);
if (bc->workqueue)
destroy_workqueue(bc->workqueue);
if (bc->bufio)
@ -1182,6 +1185,7 @@ static void dm_bow_tablestatus(struct dm_target *ti, char *result,
return;
}
mutex_lock(&bc->ranges_lock);
for (i = rb_first(&bc->ranges); i; i = rb_next(i)) {
struct bow_range *br = container_of(i, struct bow_range, node);
@ -1189,11 +1193,11 @@ static void dm_bow_tablestatus(struct dm_target *ti, char *result,
readable_type[br->type],
(unsigned long long)br->sector);
if (result >= end)
return;
goto unlock;
result += scnprintf(result, end - result, "\n");
if (result >= end)
return;
goto unlock;
if (br->type == TRIMMED)
++trimmed_range_count;
@ -1215,19 +1219,22 @@ static void dm_bow_tablestatus(struct dm_target *ti, char *result,
if (!rb_next(i)) {
scnprintf(result, end - result,
"\nERROR: Last range not of type TOP");
return;
goto unlock;
}
if (br->sector > range_top(br)) {
scnprintf(result, end - result,
"\nERROR: sectors out of order");
return;
goto unlock;
}
}
if (trimmed_range_count != trimmed_list_length)
scnprintf(result, end - result,
"\nERROR: not all trimmed ranges in trimmed list");
unlock:
mutex_unlock(&bc->ranges_lock);
}
static void dm_bow_status(struct dm_target *ti, status_type_t type,

View File

@ -823,7 +823,6 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne
usb_unanchor_urb(urb);
usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);
dev_kfree_skb(skb);
atomic_dec(&dev->active_tx_urbs);

View File

@ -670,9 +670,20 @@ static netdev_tx_t usb_8dev_start_xmit(struct sk_buff *skb,
atomic_inc(&priv->active_tx_urbs);
err = usb_submit_urb(urb, GFP_ATOMIC);
if (unlikely(err))
goto failed;
else if (atomic_read(&priv->active_tx_urbs) >= MAX_TX_URBS)
if (unlikely(err)) {
can_free_echo_skb(netdev, context->echo_index);
usb_unanchor_urb(urb);
usb_free_coherent(priv->udev, size, buf, urb->transfer_dma);
atomic_dec(&priv->active_tx_urbs);
if (err == -ENODEV)
netif_device_detach(netdev);
else
netdev_warn(netdev, "failed tx_urb %d\n", err);
stats->tx_dropped++;
} else if (atomic_read(&priv->active_tx_urbs) >= MAX_TX_URBS)
/* Slow down tx path */
netif_stop_queue(netdev);
@ -691,19 +702,6 @@ nofreecontext:
return NETDEV_TX_BUSY;
failed:
can_free_echo_skb(netdev, context->echo_index);
usb_unanchor_urb(urb);
usb_free_coherent(priv->udev, size, buf, urb->transfer_dma);
atomic_dec(&priv->active_tx_urbs);
if (err == -ENODEV)
netif_device_detach(netdev);
else
netdev_warn(netdev, "failed tx_urb %d\n", err);
nomembuf:
usb_free_urb(urb);

View File

@ -846,7 +846,7 @@ static ssize_t dyn_cap_needed_attribute_show(struct device *dev,
pm_runtime_get_sync(hba->dev);
ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR,
QUERY_ATTR_IDN_DYN_CAP_NEEDED, lun, 0, &value);
QUERY_ATTR_IDN_DYN_CAP_NEEDED, lun, 0, &value);
pm_runtime_put_sync(hba->dev);
if (ret)
return -EINVAL;

View File

@ -256,6 +256,9 @@ void *ion_buffer_kmap_get(struct ion_buffer *buffer)
void *vaddr;
if (buffer->kmap_cnt) {
if (buffer->kmap_cnt == INT_MAX)
return ERR_PTR(-EOVERFLOW);
buffer->kmap_cnt++;
return buffer->vaddr;
}

View File

@ -937,7 +937,17 @@ static int fuse_copy_page(struct fuse_copy_state *cs, struct page **pagep,
while (count) {
if (cs->write && cs->pipebufs && page) {
return fuse_ref_page(cs, page, offset, count);
/*
* Can't control lifetime of pipe buffers, so always
* copy user pages.
*/
if (cs->req->args->user_pages) {
err = fuse_copy_fill(cs);
if (err)
return err;
} else {
return fuse_ref_page(cs, page, offset, count);
}
} else if (!cs->len) {
if (cs->move_pages && page &&
offset == 0 && count == PAGE_SIZE) {

View File

@ -1433,6 +1433,7 @@ static int fuse_get_user_pages(struct fuse_args_pages *ap, struct iov_iter *ii,
(PAGE_SIZE - ret) & (PAGE_SIZE - 1);
}
ap->args.user_pages = true;
if (write)
ap->args.in_pages = 1;
else

View File

@ -248,6 +248,7 @@ struct fuse_args {
bool nocreds:1;
bool in_pages:1;
bool out_pages:1;
bool user_pages:1;
bool out_argvar:1;
bool page_zeroing:1;
bool page_replace:1;

View File

@ -60,6 +60,14 @@ struct keyslot_manager;
*/
#define BLKCG_MAX_POLS 5
static inline int blk_validate_block_size(unsigned int bsize)
{
if (bsize < 512 || bsize > PAGE_SIZE || !is_power_of_2(bsize))
return -EINVAL;
return 0;
}
typedef void (rq_end_io_fn)(struct request *, blk_status_t);
/*

View File

@ -4,6 +4,8 @@
#include <linux/skbuff.h>
#define ESP_SKB_FRAG_MAXSIZE (PAGE_SIZE << SKB_FRAG_PAGE_ORDER)
struct ip_esp_hdr;
static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb)

View File

@ -2604,6 +2604,7 @@ extern int sysctl_optmem_max;
extern __u32 sysctl_wmem_default;
extern __u32 sysctl_rmem_default;
#define SKB_FRAG_PAGE_ORDER get_order(32768)
DECLARE_STATIC_KEY_FALSE(net_high_order_alloc_disable_key);
static inline int sk_get_wmem0(const struct sock *sk, const struct proto *proto)

View File

@ -3680,7 +3680,7 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,
unsigned int delta_len = 0;
struct sk_buff *tail = NULL;
struct sk_buff *nskb, *tmp;
int err;
int len_diff, err;
skb_push(skb, -skb_network_offset(skb) + offset);
@ -3720,9 +3720,11 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,
skb_push(nskb, -skb_network_offset(nskb) + offset);
skb_release_head_state(nskb);
len_diff = skb_network_header_len(nskb) - skb_network_header_len(skb);
__copy_skb_header(nskb, skb);
skb_headers_offset_update(nskb, skb_headroom(nskb) - skb_headroom(skb));
nskb->transport_header += len_diff;
skb_copy_from_linear_data_offset(skb, -tnl_hlen,
nskb->data - tnl_hlen,
offset + tnl_hlen);

View File

@ -277,6 +277,7 @@ int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *
struct page *page;
struct sk_buff *trailer;
int tailen = esp->tailen;
unsigned int allocsz;
/* this is non-NULL only with UDP Encapsulation */
if (x->encap) {
@ -286,6 +287,10 @@ int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *
return err;
}
allocsz = ALIGN(skb->data_len + tailen, L1_CACHE_BYTES);
if (allocsz > ESP_SKB_FRAG_MAXSIZE)
goto cow;
if (!skb_cloned(skb)) {
if (tailen <= skb_tailroom(skb)) {
nfrags = 1;

View File

@ -230,6 +230,11 @@ int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info
struct page *page;
struct sk_buff *trailer;
int tailen = esp->tailen;
unsigned int allocsz;
allocsz = ALIGN(skb->data_len + tailen, L1_CACHE_BYTES);
if (allocsz > ESP_SKB_FRAG_MAXSIZE)
goto cow;
if (!skb_cloned(skb)) {
if (tailen <= skb_tailroom(skb)) {

View File

@ -2256,8 +2256,11 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
copy_skb = skb_get(skb);
skb_head = skb->data;
}
if (copy_skb)
if (copy_skb) {
memset(&PACKET_SKB_CB(copy_skb)->sa.ll, 0,
sizeof(PACKET_SKB_CB(copy_skb)->sa.ll));
skb_set_owner_r(copy_skb, sk);
}
}
snaplen = po->rx_ring.frame_size - macoff;
if ((int)snaplen < 0) {
@ -3403,6 +3406,8 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
sock_recv_ts_and_drops(msg, sk, skb);
if (msg->msg_name) {
const size_t max_len = min(sizeof(skb->cb),
sizeof(struct sockaddr_storage));
int copy_len;
/* If the address length field is there to be filled
@ -3425,6 +3430,10 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
msg->msg_namelen = sizeof(struct sockaddr_ll);
}
}
if (WARN_ON_ONCE(copy_len > max_len)) {
copy_len = max_len;
msg->msg_namelen = copy_len;
}
memcpy(msg->msg_name, &PACKET_SKB_CB(skb)->sa, copy_len);
}