diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index a4ab6456ac5f..8a6a6f700de9 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -64,6 +64,7 @@ + @@ -488,6 +489,7 @@ + @@ -1018,12 +1020,14 @@ + + @@ -1694,6 +1698,7 @@ + @@ -1808,6 +1813,7 @@ + @@ -2384,6 +2390,7 @@ + @@ -2764,6 +2771,7 @@ + @@ -4337,6 +4345,7 @@ + @@ -4857,7 +4866,9 @@ + + @@ -4928,6 +4939,7 @@ + @@ -9638,75 +9650,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -20841,105 +20853,105 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21457,18 +21469,18 @@ - + - + - + - + - + @@ -24123,18 +24135,18 @@ - + - + - + - + - + @@ -26153,48 +26165,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -26462,80 +26474,80 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -27255,45 +27267,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28296,69 +28308,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -30163,24 +30175,24 @@ - + - + - + - + - + - + - + @@ -30491,42 +30503,42 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -31418,69 +31430,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -31758,48 +31770,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -32069,60 +32081,60 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -32559,12 +32571,12 @@ - + - + - + @@ -34717,75 +34729,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -36577,48 +36589,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -38814,24 +38826,23 @@ - - - + + + - - + + - - - - + + + + - @@ -38960,105 +38971,105 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -42201,91 +42212,91 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -42305,165 +42316,165 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -42549,113 +42560,113 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -42908,12 +42919,12 @@ - + - + - + @@ -43518,8 +43529,8 @@ - - + + @@ -46752,8 +46763,8 @@ - - + + @@ -46766,18 +46777,18 @@ - - + + - - - + + + - - - + + + @@ -49619,6 +49630,8 @@ + + @@ -49658,8 +49671,8 @@ - - + + @@ -49669,23 +49682,23 @@ - - + + - - - + + + - - - + + + - - - + + + @@ -50370,20 +50383,20 @@ - - + + - - + + - - + + @@ -50519,6 +50532,12 @@ + + + + + + @@ -50603,44 +50622,44 @@ - - + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -53661,43 +53680,43 @@ - - - - - - - + + + + + + + - - - + + + - - + + - - - + + + - - - - + + + + - - - - - - - - + + + + + + + + @@ -54532,579 +54551,579 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -55113,86 +55132,86 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -55200,24 +55219,24 @@ - + - + - + - + - + - + - + @@ -55412,12 +55431,12 @@ - - + + - - + + @@ -55487,17 +55506,20 @@ - - - - - - + - - - + + + + + + + + + + + @@ -59078,6 +59100,11 @@ + + + + + @@ -59264,9 +59291,9 @@ - - - + + + @@ -59329,12 +59356,12 @@ - - + + - - + + @@ -59773,159 +59800,159 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -59946,109 +59973,109 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - - + + @@ -60070,14 +60097,14 @@ - + - - - - - + + + + + @@ -60093,169 +60120,169 @@ - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -60614,7 +60641,7 @@ - + @@ -73116,14 +73143,14 @@ - - - - - - - - + + + + + + + + @@ -73149,8 +73176,8 @@ - - + + @@ -73174,9 +73201,9 @@ - - - + + + @@ -73190,8 +73217,8 @@ - - + + @@ -81009,78 +81036,78 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - + + - - - - - + + + + + - - + + - - + + @@ -96549,9 +96576,9 @@ - - - + + + @@ -96568,9 +96595,9 @@ - - - + + + @@ -96581,18 +96608,18 @@ - - + + - - + + - - - - + + + + @@ -98441,91 +98468,91 @@ - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -99332,39 +99359,39 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -104251,14 +104278,14 @@ - - - + + + - - - + + + @@ -104275,13 +104302,13 @@ - - - + + + - - + + @@ -104293,17 +104320,17 @@ - - + + - - + + - - - + + + @@ -104314,29 +104341,29 @@ - - + + - - - - + + + + - - - + + + - - - - + + + + - - + + @@ -104359,9 +104386,9 @@ - - - + + + @@ -104388,25 +104415,25 @@ - - + + - - + + - - - + + + - - + + - - + + @@ -104414,12 +104441,12 @@ - - + + - - + + @@ -107667,32 +107694,32 @@ - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - + + @@ -107703,117 +107730,117 @@ - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + @@ -108808,20 +108835,20 @@ - - - - - + + + + + - - + + - - - + + + @@ -113807,88 +113834,88 @@ - - - - - - + + + + + + - - - - - + + + + + - - + + - - - + + + - - - - - - + + + + + + - - - + + + - - + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - + + - - + + - - + + - - + + @@ -113898,9 +113925,9 @@ - - - + + + @@ -117411,31 +117438,31 @@ - - + + - - - - + + + + - - - - - + + + + + - - + + - - - - + + + + @@ -118316,252 +118343,252 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -118851,8 +118878,8 @@ - - + + @@ -118884,8 +118911,8 @@ - - + + @@ -121721,77 +121748,77 @@ - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + - - + + @@ -121904,7 +121931,7 @@ - + @@ -126334,6 +126361,13 @@ + + + + + + + @@ -127040,42 +127074,42 @@ - - - - + + + + - - + + - - + + - - - + + + - - + + - - - - + + + + - - - + + + @@ -127231,33 +127265,33 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - + + + @@ -127455,14 +127489,14 @@ - - + + - - - - + + + + @@ -128066,83 +128100,83 @@ - - - - - - + + + + + + - - - - - - - + + + + + + + - - - + + + - - - - - + + + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -128220,6 +128254,13 @@ + + + + + + + @@ -144459,61 +144500,61 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + - - + + - - + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + @@ -144847,12 +144888,12 @@ - - - - - - + + + + + + @@ -144878,10 +144919,10 @@ - - - - + + + + @@ -149795,6 +149836,10 @@ + + + + @@ -150204,6 +150249,10 @@ + + + + @@ -150453,6 +150502,9 @@ + + + @@ -151178,7 +151230,7 @@ - + @@ -151349,6 +151401,11 @@ + + + + + @@ -151447,6 +151504,7 @@ + @@ -152786,6 +152844,10 @@ + + + + @@ -153051,62 +153113,62 @@ - - + + - - + + - - + + - - + + - + - - + + - + - + - - + + - - + + - - + + - + - + - - + + - - - - - + + + + + @@ -153575,12 +153637,12 @@ - - + + - - + + @@ -155872,114 +155934,114 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -156886,6 +156948,13 @@ + + + + + + + @@ -157867,11 +157936,11 @@ - + - - + + @@ -158241,14 +158310,14 @@ - - - - + + + + - - + + @@ -158473,36 +158542,36 @@ - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + @@ -158512,23 +158581,23 @@ - - - - + + + + - - - - + + + + - - - - - + + + + + @@ -160093,19 +160162,19 @@ - - - - + + + + - - - - - - - + + + + + + + @@ -160113,8 +160182,8 @@ - - + + @@ -161210,8 +161279,8 @@ - - + + @@ -162237,9 +162306,9 @@ - - - + + + @@ -162273,12 +162342,12 @@ - - - - - - + + + + + + @@ -162286,9 +162355,9 @@ - - - + + + @@ -162300,18 +162369,18 @@ - - - - - + + + + + - - - - - + + + + + @@ -162341,25 +162410,25 @@ - - - - + + + + - - - + + + - - - - + + + + @@ -162406,9 +162475,9 @@ - - - + + + @@ -162421,8 +162490,8 @@ - - + + @@ -164689,15 +164758,15 @@ - + - + - + - + @@ -164711,27 +164780,27 @@ - + - + - + - + - + - + - + - + @@ -164853,15 +164922,15 @@ - + - + - + - + @@ -164942,18 +165011,12 @@ - - - - + + + + - - - - - - @@ -164969,6 +165032,12 @@ + + + + + + @@ -165754,49 +165823,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -166798,19 +166867,19 @@ - - - - - - + + + + + + - - - - - + + + + + @@ -168304,10 +168373,10 @@ - - - - + + + + @@ -170975,16 +171044,16 @@ - - - - - + + + + + - - - + + + @@ -171040,36 +171109,36 @@ - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - - + + + @@ -172066,15 +172135,15 @@ - - - - - + + + + + - - + + @@ -172087,19 +172156,19 @@ - - - - - + + + + + - - + + - - + + @@ -172110,13 +172179,13 @@ - - - - - - - + + + + + + + @@ -178437,147 +178506,147 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + @@ -182652,6 +182721,17 @@ + + + + + + + + + + + @@ -182685,17 +182765,6 @@ - - - - - - - - - - - @@ -183187,8 +183256,8 @@ - - + + @@ -183270,13 +183339,13 @@ - - - - - - - + + + + + + + @@ -187478,10 +187547,10 @@ - - - - + + + + @@ -187505,19 +187574,19 @@ - - - + + + - - - + + + - - - + + + @@ -187543,14 +187612,14 @@ - - - + + + - - - + + + @@ -187558,34 +187627,34 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -187803,9 +187872,9 @@ - - - + + + @@ -187828,15 +187897,15 @@ - - - - + + + + - - - + + + @@ -187859,9 +187928,9 @@ - - - + + + @@ -187869,9 +187938,9 @@ - - - + + + @@ -187884,16 +187953,16 @@ - - - - - + + + + + - - - + + + diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index db6e276ab3a6..5e5ddaccee68 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -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 diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index d84202f3fd64..750745a41893 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -1309,6 +1309,7 @@ kfree kfree_skb kfree_skb_list + kill_anon_super kill_fasync kill_litter_super kimage_vaddr diff --git a/android/abi_gki_aarch64_sunxi b/android/abi_gki_aarch64_sunxi index 890759b51caf..c79db94302e6 100644 --- a/android/abi_gki_aarch64_sunxi +++ b/android/abi_gki_aarch64_sunxi @@ -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 diff --git a/build.config.common b/build.config.common index bdfcee55a9b2..f671676545c0 100644 --- a/build.config.common +++ b/build.config.common @@ -9,6 +9,7 @@ DEPMOD=depmod CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r416183b/bin BUILDTOOLS_PREBUILT_BIN=build/build-tools/path/linux-x86 +KCFLAGS="${KCFLAGS} -D__ANDROID_COMMON_KERNEL__" EXTRA_CMDS='' STOP_SHIP_TRACEPRINTK=1 IN_KERNEL_MODULES=1 diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index f14760c3b546..b7ec1125aac2 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -944,7 +944,7 @@ static int virtblk_probe(struct virtio_device *vdev) dev_err(&vdev->dev, "virtio_blk: invalid block size: 0x%x\n", blk_size); - goto out_free_tags; + goto out_cleanup_disk; } blk_queue_logical_block_size(q, blk_size); @@ -1016,6 +1016,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: diff --git a/drivers/md/dm-bow.c b/drivers/md/dm-bow.c index 62a1203589b2..ee4359fe6bfa 100644 --- a/drivers/md/dm-bow.c +++ b/drivers/md/dm-bow.c @@ -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, diff --git a/drivers/scsi/ufs/ufs-sysfs.c b/drivers/scsi/ufs/ufs-sysfs.c index 443e9119743e..49b167f97e7b 100644 --- a/drivers/scsi/ufs/ufs-sysfs.c +++ b/drivers/scsi/ufs/ufs-sysfs.c @@ -211,8 +211,11 @@ static ssize_t ufs_sysfs_read_desc_param(struct ufs_hba *hba, if (param_size > 8) return -EINVAL; + pm_runtime_get_sync(hba->dev); ret = ufshcd_read_desc_param(hba, desc_id, desc_index, param_offset, desc_buf, param_size); + pm_runtime_put_sync(hba->dev); + if (ret) return -EINVAL; switch (param_size) { @@ -578,6 +581,7 @@ static ssize_t _name##_show(struct device *dev, \ desc_buf = kzalloc(QUERY_DESC_MAX_SIZE, GFP_ATOMIC); \ if (!desc_buf) \ return -ENOMEM; \ + pm_runtime_get_sync(hba->dev); \ ret = ufshcd_query_descriptor_retry(hba, \ UPIU_QUERY_OPCODE_READ_DESC, QUERY_DESC_IDN_DEVICE, \ 0, 0, desc_buf, &desc_len); \ @@ -594,6 +598,7 @@ static ssize_t _name##_show(struct device *dev, \ goto out; \ ret = snprintf(buf, PAGE_SIZE, "%s\n", desc_buf); \ out: \ + pm_runtime_put_sync(hba->dev); \ kfree(desc_buf); \ return ret; \ } \ @@ -630,14 +635,18 @@ static ssize_t _name##_show(struct device *dev, \ struct device_attribute *attr, char *buf) \ { \ bool flag; \ + int ret; \ u8 index = 0; \ struct ufs_hba *hba = dev_get_drvdata(dev); \ if (ufshcd_is_wb_flags(QUERY_FLAG_IDN##_uname)) \ index = ufshcd_wb_get_query_index(hba); \ - if (ufshcd_query_flag(hba, UPIU_QUERY_OPCODE_READ_FLAG, \ - QUERY_FLAG_IDN##_uname, index, &flag)) \ + pm_runtime_get_sync(hba->dev); \ + ret = ufshcd_query_flag(hba, UPIU_QUERY_OPCODE_READ_FLAG, \ + QUERY_FLAG_IDN##_uname, index, &flag); \ + pm_runtime_put_sync(hba->dev); \ + if (ret) \ return -EINVAL; \ - return sprintf(buf, "%s\n", flag ? "true" : "false"); \ + return sprintf(buf, "%s\n", flag ? "true" : "false"); \ } \ static DEVICE_ATTR_RO(_name) @@ -686,10 +695,14 @@ static ssize_t _name##_show(struct device *dev, \ struct ufs_hba *hba = dev_get_drvdata(dev); \ u32 value; \ u8 index = 0; \ + int ret; \ if (ufshcd_is_wb_attrs(QUERY_ATTR_IDN##_uname)) \ index = ufshcd_wb_get_query_index(hba); \ - if (ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, \ - QUERY_ATTR_IDN##_uname, index, 0, &value)) \ + pm_runtime_get_sync(hba->dev); \ + ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, \ + QUERY_ATTR_IDN##_uname, index, 0, &value); \ + pm_runtime_put_sync(hba->dev); \ + if (ret) \ return -EINVAL; \ return sprintf(buf, "0x%08X\n", value); \ } \ @@ -822,10 +835,15 @@ static ssize_t dyn_cap_needed_attribute_show(struct device *dev, struct scsi_device *sdev = to_scsi_device(dev); struct ufs_hba *hba = shost_priv(sdev->host); u8 lun = ufshcd_scsi_to_upiu_lun(sdev->lun); + int ret; - if (ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, - QUERY_ATTR_IDN_DYN_CAP_NEEDED, lun, 0, &value)) + 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); + pm_runtime_put_sync(hba->dev); + if (ret) return -EINVAL; + return sprintf(buf, "0x%08X\n", value); } static DEVICE_ATTR_RO(dyn_cap_needed_attribute); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index a720f24826c1..41c832440762 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -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); diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index a859a1d46593..7f41d319d63f 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -1861,9 +1861,11 @@ static int wait_for_avail(struct snd_pcm_substream *substream, if (avail >= runtime->twake) break; snd_pcm_stream_unlock_irq(substream); + mutex_unlock(&runtime->buffer_mutex); tout = schedule_timeout(wait_time); + mutex_lock(&runtime->buffer_mutex); snd_pcm_stream_lock_irq(substream); set_current_state(TASK_INTERRUPTIBLE); switch (runtime->status->state) { @@ -2159,6 +2161,7 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream, nonblock = !!(substream->f_flags & O_NONBLOCK); + mutex_lock(&runtime->buffer_mutex); snd_pcm_stream_lock_irq(substream); err = pcm_accessible_state(runtime); if (err < 0) @@ -2251,6 +2254,7 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream, if (xfer > 0 && err >= 0) snd_pcm_update_state(substream, runtime); snd_pcm_stream_unlock_irq(substream); + mutex_unlock(&runtime->buffer_mutex); return xfer > 0 ? (snd_pcm_sframes_t)xfer : err; } EXPORT_SYMBOL(__snd_pcm_lib_xfer); diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 8c5323da5203..f26e266a622d 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -658,7 +658,7 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { struct snd_pcm_runtime *runtime; - int err, usecs; + int err = 0, usecs; unsigned int bits; snd_pcm_uframes_t frames;