ANDROID: qcom: Add flush_delayed_fput to ABI
When a kernel thread calls dma_buf_put() to release the last reference to a dma-buf, fput_many() defers calling the release callback to a workqueue. This means that if the same kernel thread later calls dma_heap_buffer_alloc(), it has no guarantee that the memory from the prior free is available, leading to random failures. As a short-term workaround, call flush_delayed_fput() to ensure the free completes synchronously. Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 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 flush_delayed_fput()' Bug: 210598057 Change-Id: Id936aa0bcd410b23b12f4b922b676aa61a358b4c Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
This commit is contained in:
parent
5d8520b557
commit
70c9301d9c
@ -2308,6 +2308,7 @@
|
||||
<elf-symbol name='firmware_request_nowarn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4bff2d19'/>
|
||||
<elf-symbol name='fixed_size_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x2f7f02bb'/>
|
||||
<elf-symbol name='flush_dcache_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcb0082ac'/>
|
||||
<elf-symbol name='flush_delayed_fput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x55339365'/>
|
||||
<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='0xdb4212b1'/>
|
||||
<elf-symbol name='flush_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4735ac17'/>
|
||||
@ -126166,6 +126167,9 @@
|
||||
<parameter type-id='02f11ed4' name='page' filepath='arch/arm64/mm/flush.c' line='70' column='1'/>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
<function-decl name='flush_delayed_fput' mangled-name='flush_delayed_fput' filepath='fs/file_table.c' line='327' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_delayed_fput'>
|
||||
<return type-id='48b5725f'/>
|
||||
</function-decl>
|
||||
<function-decl name='flush_delayed_work' mangled-name='flush_delayed_work' filepath='kernel/workqueue.c' line='3205' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_delayed_work'>
|
||||
<parameter type-id='1a7ee447' name='dwork' filepath='kernel/workqueue.c' line='3205' column='1'/>
|
||||
<return type-id='b50a4934'/>
|
||||
|
@ -899,6 +899,7 @@
|
||||
finish_wait
|
||||
firmware_request_nowarn
|
||||
flush_dcache_page
|
||||
flush_delayed_fput
|
||||
flush_delayed_work
|
||||
__flush_icache_range
|
||||
flush_work
|
||||
|
Loading…
Reference in New Issue
Block a user