Michael Grzeschik
b9cfdaa0e1
UPSTREAM: usb: gadget: uvc: make uvc_num_requests depend on gadget speed
...
While sending bigger images is possible with USB_SPEED_SUPER it is
better to use more isochronous requests in flight. This patch makes the
number uvc_num_requests dynamic by changing it depending on the gadget
speed.
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de >
Link: https://lore.kernel.org/r/20210628155311.16762-3-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
(cherry picked from commit 9973772dbb )
Bug: 242344221
Change-Id: Ie3757dde02125eaa0e28b6181c475726cb344742
Signed-off-by: Avichal Rakesh <arakesh@google.com >
2023-01-10 23:32:31 +00:00
davidchiang
6a2b747210
ANDROID: Update the ABI symbol list and xml
...
Add symbols find_vm_area.
1 function symbol(s) added
'struct vm_struct * find_vm_area(void *)'
Bug: 263839332
Change-Id: I1c1298fe8d2bbdba323a7990c58c2eae2e9b5610
Signed-off-by: davidchiang <davidchiang@google.com >
2023-01-10 04:21:27 +00:00
davidchiang
41b027695f
ANDROID: mm: Export find_vm_area
...
Export find_vm_area for obtaining pages of vmalloc'ed memory, which is
required for both GXP and TPU modules.
Bug: 263839332
Change-Id: I1d6c37a5abb6012c3ff295120dd2d3cb2871c820
Signed-off-by: davidchiang <davidchiang@google.com >
2023-01-10 02:52:23 +00:00
Greg Kroah-Hartman
c82a7304de
ANDROID: allmodconfig: disable WERROR
...
-Werror still fails on some arm and arm64 code due to clang issues
(works on gcc!), so disable it when building allmodconfig builds for
now.
Hopefully the clang developers will work on this...
Bug: 199872592
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com >
Change-Id: I6ccc856773c40e3c0f541a1316b20e9ae3de4380
(cherry picked from commit eb57c31115 )
Signed-off-by: Alistair Delva <adelva@google.com >
2023-01-10 00:54:47 +00:00
Linus Torvalds
0697ad7f44
UPSTREAM: Enable '-Werror' by default for all kernel builds
...
... but make it a config option so that broken environments can disable
it when required.
We really should always have a clean build, and will disable specific
over-eager warnings as required, if we can't fix them. But while I
fairly religiously enforce that in my own tree, it doesn't get enforced
by various build robots that don't necessarily report warnings.
So this just makes '-Werror' a default compiler flag, but allows people
to disable it for their configuration if they have some particular
issues.
Occasionally, new compiler versions end up enabling new warnings, and it
can take a while before we have them fixed (or the warnings disabled if
that is what it takes), so the config option allows for that situation.
Hopefully this will mean that I get fewer pull requests that have new
warnings that were not noticed by various automation we have in place.
Knock wood.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
(cherry picked from commit 3fe617ccaf )
Signed-off-by: Alistair Delva <adelva@google.com >
Change-Id: If981f26ebe668be7c727661fede10215c4ee5bc5
2023-01-10 00:54:47 +00:00
Sangmoon Kim
c66fc69f33
ANDROID: ABI: update galaxy allowed list for trace hook
...
Bug: 263703180
Change-Id: Ie26dfae4b8340ae7ccc977e8ac308a5cd7284374
Signed-off-by: Woogeun Lee <woogeun.lee@samsung.com >
Signed-off-by: Sangmoon Kim <sangmoon.kim@samsung.com >
2023-01-09 20:02:44 +00:00
Sangmoon Kim
b42eddeb28
Revert "Revert "ANDROID: workqueue: add vendor hook for wq lockup information""
...
This reverts commit 7a6ea55aa0 .
This hook was removed because there is no user.
But the new project needs this hook.
Bug: 263703180
Change-Id: I14e286fd6d426d4ffdb4cb440477f0fae65e980e
Signed-off-by: Sangmoon Kim <sangmoon.kim@samsung.com >
2023-01-09 20:02:44 +00:00
Eric Biggers
f2a236c7ae
ANDROID: fips140: add crypto_memneq() back to the module
...
crypto_memneq() is one of the utility functions that was intentionally
included in the fips140 module, out of concerns that it would be seen as
"cryptographic" and thus would be required to be included the module for
the FIPS certification. It should not have been removed from the
module, so add it back.
Bug: 188620248
Fixes: 29c427664a ("Merge tag 'android13-5.10.149_r00' into android13-5.10")
Change-Id: I8a19dfd73390f8c1348885f97fa42d900e47b82b
Signed-off-by: Eric Biggers <ebiggers@google.com >
2023-01-09 10:55:56 +00:00
Jens Axboe
4f1eb203c6
UPSTREAM: io_uring: kill goto error handling in io_sqpoll_wait_sq()
...
Hunk extracted from commit 70aacfe661
upstream.
If the sqpoll thread has died, the out condition doesn't remove the
waiting task from the waitqueue. The goto and check are not needed, just
make it a break condition after setting the error value. That ensures
that we always remove ourselves from sqo_sq_wait waitqueue.
Bug: 259534862
Reported-by: Xingyuan Mo <hdthky0@gmail.com >
Signed-off-by: Jens Axboe <axboe@kernel.dk >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
(cherry picked from commit 0f544353fe )
Signed-off-by: Lee Jones <joneslee@google.com >
Change-Id: I453c3e23a2f0c5ce6a8dd73dac020ec6f32994ca
2023-01-09 09:01:31 +00:00
Woogeun Lee
f7ea55aee6
ANDROID: ABI: initial add allowed list for galaxy
...
80 function symbol(s) added
'int __blk_mq_debugfs_rq_show(struct seq_file *, struct request *)'
'ktime_t __hrtimer_get_remaining(const struct hrtimer *, bool)'
'void __kfree_skb(struct sk_buff *)'
'bool __percpu_down_read(struct percpu_rw_semaphore *, bool)'
'int __traceiter_android_rvh_dequeue_task_idle(void *, struct task_struct *)'
'int __traceiter_android_rvh_report_bug(void *, const char *, unsigned int, unsigned long int)'
'int __traceiter_android_rvh_schedule_bug(void *, struct task_struct *)'
'int __traceiter_android_vh_mutex_wait_finish(void *, struct mutex *)'
'int __traceiter_android_vh_mutex_wait_start(void *, struct mutex *)'
'int __traceiter_android_vh_ptype_head(void *, const struct packet_type *, struct list_head *)'
'int __traceiter_android_vh_rtmutex_wait_finish(void *, struct rt_mutex *)'
'int __traceiter_android_vh_rtmutex_wait_start(void *, struct rt_mutex *)'
'int __traceiter_android_vh_rwsem_read_wait_finish(void *, struct rw_semaphore *)'
'int __traceiter_android_vh_rwsem_read_wait_start(void *, struct rw_semaphore *)'
'int __traceiter_android_vh_rwsem_write_wait_finish(void *, struct rw_semaphore *)'
'int __traceiter_android_vh_rwsem_write_wait_start(void *, struct rw_semaphore *)'
'int __traceiter_android_vh_sched_show_task(void *, struct task_struct *)'
'int __traceiter_android_vh_try_to_freeze_todo(void *, unsigned int, unsigned int, bool)'
'int __traceiter_android_vh_try_to_freeze_todo_unfrozen(void *, struct task_struct *)'
'int __traceiter_android_vh_watchdog_timer_softlockup(void *, int, struct pt_regs *, bool)'
'int __traceiter_kfree_skb(void *, struct sk_buff *, void *)'
'void alarm_start(struct alarm *, ktime_t)'
'int blk_mq_debugfs_rq_show(struct seq_file *, void *)'
'void blk_mq_sched_request_inserted(struct request *)'
'bool blk_mq_sched_try_insert_merge(struct request_queue *, struct request *)'
'bool blk_mq_sched_try_merge(struct request_queue *, struct bio *, unsigned int, struct request * *)'
'struct blkcg_gq * blkg_lookup_slowpath(struct blkcg *, struct request_queue *, bool)'
'void * bsearch(void *, void *, size_t, size_t, cmp_func_t)'
'struct device * create_function_device(char *)'
'struct device_driver * driver_find(const char *, struct bus_type *)'
'int dump_align(struct coredump_params *, int)'
'int dump_emit(struct coredump_params *, void *, int)'
'struct elevator_queue * elevator_alloc(struct request_queue *, struct elevator_type *)'
'bool elv_bio_merge_ok(struct request *, struct bio *)'
'void elv_rb_add(struct rb_root *, struct request *)'
'void elv_rb_del(struct rb_root *, struct request *)'
'struct request * elv_rb_find(struct rb_root *, sector_t)'
'struct request * elv_rb_former_request(struct request_queue *, struct request *)'
'struct request * elv_rb_latter_request(struct request_queue *, struct request *)'
'int elv_register(struct elevator_type *)'
'void elv_rqhash_add(struct request_queue *, struct request *)'
'void elv_rqhash_del(struct request_queue *, struct request *)'
'void elv_unregister(struct elevator_type *)'
'void file_ra_state_init(struct file_ra_state *, struct address_space *)'
'ssize_t generic_file_read_iter(struct kiocb *, struct iov_iter *)'
'struct file * get_mm_exe_file(struct mm_struct *)'
'struct kernfs_node * kernfs_find_and_get_ns(struct kernfs_node *, const char *, void *)'
'void kernfs_put(struct kernfs_node *)'
'int kstrtos16(const char *, unsigned int, s16 *)'
'struct cgroup_subsys_state * kthread_blkcg()'
'int kthread_park(struct task_struct *)'
'bool kthread_should_park()'
'dev_t name_to_dev_t(const char *)'
'int of_add_property(struct device_node *, struct property *)'
'void pm_get_active_wakeup_sources(char *, size_t)'
'int rcuwait_wake_up(struct rcuwait *)'
'int register_kretprobe(struct kretprobe *)'
'struct ctl_table_header * register_net_sysctl(struct net *, const char *, struct ctl_table *)'
'void regulator_bulk_free(int, struct regulator_bulk_data *)'
'void sbitmap_queue_min_shallow_depth(struct sbitmap_queue *, unsigned int)'
'struct list_head * seq_list_next(void *, struct list_head *, loff_t *)'
'struct list_head * seq_list_start(struct list_head *, loff_t)'
'int skb_copy_ubufs(struct sk_buff *, gfp_t)'
'int smp_call_function_single_async(int, struct __call_single_data *)'
'int smpboot_register_percpu_thread(struct smp_hotplug_thread *)'
'void smpboot_unregister_percpu_thread(struct smp_hotplug_thread *)'
'int snd_soc_add_card_controls(struct snd_soc_card *, const struct snd_kcontrol_new *, int)'
'int snd_soc_dai_set_tristate(struct snd_soc_dai *, int)'
'unsigned int stack_trace_save(unsigned long int *, unsigned int, unsigned int)'
'unsigned int stack_trace_save_regs(struct pt_regs *, unsigned long int *, unsigned int, unsigned int)'
'unsigned int stack_trace_save_tsk(struct task_struct *, unsigned long int *, unsigned int, unsigned int)'
'int tcp_register_congestion_control(struct tcp_congestion_ops *)'
'void tcp_reno_cong_avoid(struct sock *, u32, u32)'
'u32 tcp_reno_ssthresh(struct sock *)'
'u32 tcp_reno_undo_cwnd(struct sock *)'
'u32 tcp_slow_start(struct tcp_sock *, u32)'
'void tcp_unregister_congestion_control(struct tcp_congestion_ops *)'
'void unregister_kretprobe(struct kretprobe *)'
'struct usb_device * usb_alloc_dev(struct usb_device *, struct usb_bus *, unsigned int)'
'void usb_set_device_state(struct usb_device *, enum usb_device_state)'
19 variable symbol(s) added
'struct tracepoint __tracepoint_android_rvh_dequeue_task_idle'
'struct tracepoint __tracepoint_android_rvh_report_bug'
'struct tracepoint __tracepoint_android_rvh_schedule_bug'
'struct tracepoint __tracepoint_android_vh_mutex_wait_finish'
'struct tracepoint __tracepoint_android_vh_mutex_wait_start'
'struct tracepoint __tracepoint_android_vh_ptype_head'
'struct tracepoint __tracepoint_android_vh_rtmutex_wait_finish'
'struct tracepoint __tracepoint_android_vh_rtmutex_wait_start'
'struct tracepoint __tracepoint_android_vh_rwsem_read_wait_finish'
'struct tracepoint __tracepoint_android_vh_rwsem_read_wait_start'
'struct tracepoint __tracepoint_android_vh_rwsem_write_wait_finish'
'struct tracepoint __tracepoint_android_vh_rwsem_write_wait_start'
'struct tracepoint __tracepoint_android_vh_sched_show_task'
'struct tracepoint __tracepoint_android_vh_try_to_freeze_todo'
'struct tracepoint __tracepoint_android_vh_try_to_freeze_todo_unfrozen'
'struct tracepoint __tracepoint_android_vh_watchdog_timer_softlockup'
'struct tracepoint __tracepoint_kfree_skb'
'struct blkcg blkcg_root'
'kimage_vaddr'
Bug: 263211890
Change-Id: If90d89ca7b94620c0dd3dbd43d50c07cab8070bb
Signed-off-by: Woogeun Lee <woogeun.lee@samsung.com >
2023-01-07 14:03:03 +00:00
Kalesh Singh
a19efee97a
ANDROID: Re-enable fast mremap and fix UAF with SPF
...
SPF attempts page faults without taking the mmap lock, but takes the
PTL. If there is a concurrent fast mremap (at PMD/PUD level), this
can lead to a UAF as fast mremap will only take the PTL locks at the
PMD/PUD level. SPF cannot take the PTL locks at the larger subtree
granularity since this introduces much contention in the page fault
paths.
To address the race:
1) Only try fast mremaps if there are no users of the VMA. Android
is concerned with this optimization in the context of
GC stop-the-world pause. So there are no other threads active
and this should almost always succeed.
2) Speculative faults detect ongoing fast mremaps and fallback
to conventional fault handling (taking mmap read lock).
Bug: 263177905
Change-Id: I23917e493ddc8576de19883cac053dfde9982b7f
Signed-off-by: Kalesh Singh <kaleshsingh@google.com >
2023-01-07 01:21:30 +00:00
Kalesh Singh
f610378ca2
Revert "ANDROID: Make SPF aware of fast mremaps"
...
This reverts commit 206a66b5c4 .
Reason for revert: vts_linux_kselftest_arm_64 timeout
Bug: 263479421
Bug: 263177905
Change-Id: I123c56741c982d1539ceebd8bfde2443871aa1de
Signed-off-by: Kalesh Singh <kaleshsingh@google.com >
2023-01-07 01:21:30 +00:00
Bing-Jhong Billy Jheng
03c04a7cba
UPSTREAM: io_uring: add missing item types for splice request
...
Splice is like read/write and should grab current->nsproxy, denoted by
IO_WQ_WORK_FILES as it refers to current->files as well
Change-Id: I94a99fdef5764e7eda5da778b5b52a150b9fe5eb
Signed-off-by: Bing-Jhong Billy Jheng <billy@starlabs.sg >
Reviewed-by: Jens Axboe <axboe@kernel.dk >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
(cherry picked from commit 75454b4bbf )
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com >
2023-01-06 09:36:26 +00:00
Kyle Tso
8bd021e7f2
ANDROID: Update the ABI representation
...
1 function symbol(s) added
'int extcon_set_property_sync(struct extcon_dev *, unsigned int, unsigned int, union extcon_property_value)'
Bug: 257490462
Change-Id: I616c041604a84ef869fa818f3a0244b80f281656
Signed-off-by: Kyle Tso <kyletso@google.com >
2023-01-05 21:38:59 +00:00
Bian Jin chen
fa957a5de4
ANDROID: GKI: Enable symbols for bcmdhd-pcie
...
1 function symbol(s) added
'int netif_set_xps_queue(struct net_device *, const struct cpumask *, u16)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I7dea5ae556484e15394fe5ec5c3446b7692758eb
2022-12-28 11:42:23 +08:00
Bian Jin chen
f2ea038eda
ANDROID: GKI: Enable symbols for pwrseq-simple
...
4 function symbol(s) added
'unsigned long int * bitmap_alloc(unsigned int, gfp_t)'
'int gpiod_set_array_value_cansleep(unsigned int, struct gpio_desc * *, struct gpio_array *, unsigned long int *)'
'int mmc_pwrseq_register(struct mmc_pwrseq *)'
'void mmc_pwrseq_unregister(struct mmc_pwrseq *)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I7021822c754002e6247f0088399c9fc6987ea468
2022-12-28 11:16:05 +08:00
John Stultz
61a9c903fe
FROMLIST: pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
...
In commit [in -next: 76d62f24db ] ("pstore: Switch pmsg_lock to an rt_mutex
to avoid priority inversion") I changed a lock to an rt_mutex.
However, its possible that CONFIG_RT_MUTEXES is not enabled,
which then results in a build failure, as the 0day bot detected:
https://lore.kernel.org/linux-mm/202212211244.TwzWZD3H-lkp@intel.com/
Thus this patch changes CONFIG_PSTORE_PMSG to select
CONFIG_RT_MUTEXES, which ensures the build will not fail.
Cc: Wei Wang <wvw@google.com >
Cc: Midas Chien<midaschieh@google.com >
Cc: Connor O'Brien <connoro@google.com >
Cc: Kees Cook <keescook@chromium.org >
Cc: Anton Vorontsov <anton@enomsg.org >
Cc: Colin Cross <ccross@android.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: kernel test robot <lkp@intel.com >
Cc: kernel-team@android.com
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: John Stultz <jstultz@google.com >
Link: https://lore.kernel.org/lkml/20221221051855.15761-1-jstultz@google.com/
Change-Id: I56ef91f302aa9ed1be3858c03b72a79543a329e5
[jstultz: Tweaked commit message to avoid catching presubmit checks
referencing shas that haven't landed upstream yet]
Fixes: 943836e729 ("FROMGIT: pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion")
Signed-off-by: John Stultz <jstultz@google.com >
2022-12-23 06:38:31 +00:00
Bian Jin chen
75ec0fe20f
ANDROID: GKI: rockchip: Add symbols for HDMIRX and Ethernet
...
54 function symbol(s) added
'int __bitmap_and(unsigned long int *, const unsigned long int *, const unsigned long int *, unsigned int)'
'struct dentry * debugfs_rename(struct dentry *, struct dentry *, struct dentry *, const char *)'
'int device_get_phy_mode(struct device *)'
'struct net_device * devm_alloc_etherdev_mqs(struct device *, int, unsigned int, unsigned int)'
'void dql_completed(struct dql *, unsigned int)'
'void dql_reset(struct dql *)'
'void ethtool_convert_legacy_u32_to_link_mode(unsigned long int *, u32)'
'bool ethtool_convert_link_mode_to_legacy_u32(u32 *, const unsigned long int *)'
'int flow_block_cb_setup_simple(struct flow_block_offload *, struct list_head *, flow_setup_cb_t *, void *, void *, bool)'
'void flow_rule_match_basic(const struct flow_rule *, struct flow_match_basic *)'
'void flow_rule_match_ipv4_addrs(const struct flow_rule *, struct flow_match_ipv4_addrs *)'
'void flow_rule_match_ports(const struct flow_rule *, struct flow_match_ports *)'
'int kvm_arch_ptp_get_crosststamp(u64 *, struct timespec64 *, struct clocksource * *)'
'bool kvm_arm_hyp_service_available(u32)'
'struct phy_device * mdiobus_get_phy(struct mii_bus *, int)'
'void netdev_alert(const struct net_device *, const char *, ...)'
'void netdev_rss_key_fill(void *, size_t)'
'void * of_get_mac_address(struct device_node *)'
'int of_get_phy_mode(struct device_node *, phy_interface_t *)'
'int of_mdiobus_register(struct mii_bus *, struct device_node *)'
'bool of_phy_is_fixed_link(struct device_node *)'
'struct page * page_pool_alloc_pages(struct page_pool *, gfp_t)'
'struct page_pool * page_pool_create(const struct page_pool_params *)'
'void page_pool_destroy(struct page_pool *)'
'void page_pool_put_page(struct page_pool *, struct page *, unsigned int, bool)'
'void page_pool_release_page(struct page_pool *, struct page *)'
'int phy_init_eee(struct phy_device *, bool)'
'int phylink_connect_phy(struct phylink *, struct phy_device *)'
'struct phylink * phylink_create(struct phylink_config *, struct fwnode_handle *, phy_interface_t, const struct phylink_mac_ops *)'
'void phylink_destroy(struct phylink *)'
'void phylink_disconnect_phy(struct phylink *)'
'int phylink_ethtool_get_eee(struct phylink *, struct ethtool_eee *)'
'void phylink_ethtool_get_pauseparam(struct phylink *, struct ethtool_pauseparam *)'
'void phylink_ethtool_get_wol(struct phylink *, struct ethtool_wolinfo *)'
'int phylink_ethtool_ksettings_get(struct phylink *, struct ethtool_link_ksettings *)'
'int phylink_ethtool_ksettings_set(struct phylink *, const struct ethtool_link_ksettings *)'
'int phylink_ethtool_nway_reset(struct phylink *)'
'int phylink_ethtool_set_eee(struct phylink *, struct ethtool_eee *)'
'int phylink_ethtool_set_pauseparam(struct phylink *, struct ethtool_pauseparam *)'
'int phylink_ethtool_set_wol(struct phylink *, struct ethtool_wolinfo *)'
'int phylink_get_eee_err(struct phylink *)'
'void phylink_mac_change(struct phylink *, bool)'
'int phylink_mii_ioctl(struct phylink *, struct ifreq *, int)'
'int phylink_of_phy_connect(struct phylink *, struct device_node *, u32)'
'void phylink_set_port_modes(unsigned long int *)'
'int phylink_speed_down(struct phylink *, bool)'
'int phylink_speed_up(struct phylink *)'
'void phylink_start(struct phylink *)'
'void phylink_stop(struct phylink *)'
'int platform_get_irq_byname_optional(struct platform_device *, const char *)'
'int posix_clock_register(struct posix_clock *, struct device *)'
'void posix_clock_unregister(struct posix_clock *)'
'bool v4l2_find_dv_timings_cap(struct v4l2_dv_timings *, const struct v4l2_dv_timings_cap *, unsigned int, v4l2_check_dv_timings_fnc *, void *)'
'int v4l2_src_change_event_subscribe(struct v4l2_fh *, const struct v4l2_event_subscription *)'
1 variable symbol(s) added
'const struct vb2_mem_ops vb2_dma_contig_memops'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: Iabbed3d2d885b731c40374a548e40ea3f967d555
2022-12-22 18:05:25 +08:00
Bian Jin chen
d7137d26a6
ANDROID: GKI: Enable symbols for sensordev and hid
...
9 function symbol(s) added
'int __hid_request(struct hid_device *, struct hid_report *, int)'
'void class_remove_file_ns(struct class *, const struct class_attribute *, void *)'
'int clk_hw_set_parent(struct clk_hw *, struct clk_hw *)'
'void hid_hw_close(struct hid_device *)'
'int hid_hw_open(struct hid_device *)'
'void hid_hw_stop(struct hid_device *)'
'int hid_report_raw_event(struct hid_device *, int, u8 *, u32, int)'
'struct hid_report * hid_validate_values(struct hid_device *, unsigned int, unsigned int, unsigned int, unsigned int)'
'int input_ff_create_memless(struct input_dev *, void *, int(*)(struct input_dev *, void *, struct ff_effect *))'
1 variable symbol(s) added
'struct hid_ll_driver usb_hid_driver'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I332619efca6d5e6428794ec27b7433e55b7c6cad
2022-12-22 17:33:14 +08:00
John Stultz
943836e729
FROMGIT: pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
...
Wei Wang reported seeing priority inversion caused latencies
caused by contention on pmsg_lock, and suggested it be switched
to a rt_mutex.
I was initially hesitant this would help, as the tasks in that
trace all seemed to be SCHED_NORMAL, so the benefit would be
limited to only nice boosting.
However, another similar issue was raised where the priority
inversion was seen did involve a blocked RT task so it is clear
this would be helpful in that case.
Cc: Wei Wang <wvw@google.com >
Cc: Midas Chien<midaschieh@google.com >
Cc: Connor O'Brien <connoro@google.com >
Cc: Kees Cook <keescook@chromium.org >
Cc: Anton Vorontsov <anton@enomsg.org >
Cc: Colin Cross <ccross@android.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: kernel-team@android.com
Fixes: 9d5438f462 ("pstore: Add pmsg - user-space accessible pstore object")
Reported-by: Wei Wang <wvw@google.com >
Signed-off-by: John Stultz <jstultz@google.com >
Signed-off-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20221214231834.3711880-1-jstultz@google.com
Bug: 244348789
Bug: 261039801
(cherry picked from commit 76d62f24db
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore)
Change-Id: I1ee429420f299eb65b84625f46763fe5a76d058f
Signed-off-by: John Stultz <jstultz@google.com >
2022-12-21 20:46:05 +00:00
Bian Jin chen
7c5b72200f
ANDROID: GKI: Enable symbols for wifi
...
17 function symbol(s) added
'char * iwe_stream_add_event(struct iw_request_info *, char *, char *, struct iw_event *, int)'
'char * iwe_stream_add_point(struct iw_request_info *, char *, char *, struct iw_event *, char *)'
'char * iwe_stream_add_value(struct iw_request_info *, char *, char *, char *, struct iw_event *, int)'
'int mmc_sw_reset(struct mmc_host *)'
'bool rfkill_set_hw_state(struct rfkill *, bool)'
'bool rfkill_set_sw_state(struct rfkill *, bool)'
'void sched_set_fifo_low(struct task_struct *)'
'u8 sdio_readb(struct sdio_func *, unsigned int, int *)'
'u32 sdio_readl(struct sdio_func *, unsigned int, int *)'
'u16 sdio_readw(struct sdio_func *, unsigned int, int *)'
'void sdio_retune_crc_disable(struct sdio_func *)'
'void sdio_retune_crc_enable(struct sdio_func *)'
'void sdio_retune_hold_now(struct sdio_func *)'
'void sdio_retune_release(struct sdio_func *)'
'void sdio_writeb(struct sdio_func *, u8, unsigned int, int *)'
'void sdio_writel(struct sdio_func *, u32, unsigned int, int *)'
'void sdio_writew(struct sdio_func *, u16, unsigned int, int *)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I9b904964e2751638bdca927699defbcdbbba3792
2022-12-21 19:06:05 +00:00
Bian Jin chen
f721f7b66e
ANDROID: Enable symbols for sound and serial
...
22 function symbol(s) added
'bool clk_is_match(const struct clk *, const struct clk *)'
'bool of_device_is_big_endian(const struct device_node *)'
'unsigned long int round_jiffies_relative(unsigned long int)'
'void serial8250_clear_and_reinit_fifos(struct uart_8250_port *)'
'void serial8250_do_pm(struct uart_port *, unsigned int, unsigned int)'
'void serial8250_do_set_divisor(struct uart_port *, unsigned int, unsigned int, unsigned int)'
'void serial8250_do_set_ldisc(struct uart_port *, struct ktermios *)'
'void serial8250_do_set_termios(struct uart_port *, struct ktermios *, struct ktermios *)'
'struct uart_8250_port * serial8250_get_port(int)'
'int serial8250_handle_irq(struct uart_port *, unsigned int)'
'int serial8250_register_8250_port(struct uart_8250_port *)'
'void serial8250_resume_port(int)'
'void serial8250_suspend_port(int)'
'void serial8250_unregister_port(int)'
'void serial8250_update_uartclk(struct uart_port *, unsigned int)'
'int snd_pcm_stop_xrun(struct snd_pcm_substream *)'
'void snd_soc_component_exit_regmap(struct snd_soc_component *)'
'int snd_soc_dapm_force_bias_level(struct snd_soc_dapm_context *, enum snd_soc_bias_level)'
'int snd_soc_dapm_new_widgets(struct snd_soc_card *)'
'int snd_soc_get_dai_name(struct of_phandle_args *, const char * *)'
'int snd_soc_jack_add_zones(struct snd_soc_jack *, int, struct snd_soc_jack_zone *)'
'int snd_soc_jack_get_type(struct snd_soc_jack *, int)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: Ic3d6f701cf8a0ec2a3937899fce7089dc777a642
2022-12-21 19:06:05 +00:00
Kalesh Singh
206a66b5c4
ANDROID: Make SPF aware of fast mremaps
...
SPF attempts page faults without taking the mmap lock, but takes the
PTL. If there is a concurrent fast mremap (at PMD/PUD level), this
can lead to a UAF as fast mremap will only take the PTL locks at the
PMD/PUD level. SPF cannot take the PTL locks at the larger subtree
granularity since this introduces much contention in the page fault
paths.
To address the race:
1) Fast mremaps wait until there are no users of the VMA.
2) Speculative faults detect ongoing fast mremaps and fallback
to conventional fault handling (taking mmap read lock).
Since this race condition is very rare the performance impact is
negligible.
Bug: 263177905
Change-Id: If9755aa4261337fe180e3093a3cefaae8ac9ff1a
Signed-off-by: Kalesh Singh <kaleshsingh@google.com >
2022-12-20 09:55:41 -08:00
Farid Chahla
3cd617a48a
ANDROID: GKI: enable mulitcolor-led
...
To enable newer version of DualSense driver, i.e. hid-playstation, we
need to set LEDS_CLASS_MULTICOLOR to "y".
Bug: 260685629
Change-Id: I52b0b1b6a061457e009b62a6bd6b66a91c8c37a2
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
2e557218f8
UPSTREAM: HID: playstation: support updated DualSense rumble mode.
...
Newer DualSense firmware supports a revised classic rumble mode,
which feels more similar to rumble as supported on previous PlayStation
controllers. It has been made the default on PlayStation and non-PlayStation
devices now (e.g. iOS and Windows). Default to this new mode when
supported.
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com >
Link: https://lore.kernel.org/r/20221010212313.78275-4-roderick.colenbrander@sony.com
Bug: 260685629
(cherry picked from commit 9fecab247e )
Change-Id: Icd330111a4d1b1e76a04cd11c623d0982ce3d66f
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
e32df322f1
UPSTREAM: HID: playstation: add initial DualSense Edge controller support
...
Provide initial support for the DualSense Edge controller. The brings
support up to the level of the original DualSense, but won't yet provide
support for new features (e.g. reprogrammable buttons).
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
CC: stable@vger.kernel.org
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com >
Link: https://lore.kernel.org/r/20221010212313.78275-3-roderick.colenbrander@sony.com
Bug: 260685629
(cherry picked from commit b8a968efab )
Change-Id: I5b95de806e823085d1144f016d8cfd76e4a933ef
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
2a22248b45
UPSTREAM: HID: playstation: stop DualSense output work on remove.
...
Ensure we don't schedule any new output work on removal and wait
for any existing work to complete. If we don't do this e.g. rumble
work can get queued during deletion and we trigger a kernel crash.
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
CC: stable@vger.kernel.org
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com >
Link: https://lore.kernel.org/r/20221010212313.78275-2-roderick.colenbrander@sony.com
Bug: 260685629
(cherry picked from commit 182934a1e9 )
Change-Id: I40cadfde5765cdabf45def929860258d6019bf10
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Greg Kroah-Hartman
255a81bcd1
UPSTREAM: HID: playstation: convert to use dev_groups
...
There is no need for a driver to individually add/create device groups,
the driver core will do it automatically for you. Convert the
hid-playstation driver to use the dev_groups pointer instead of manually
calling the driver core to create the group and have it be cleaned up
later on by the devm core.
Cc: Roderick Colenbrander <roderick.colenbrander@sony.com >
Cc: Jiri Kosina <jikos@kernel.org >
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com >
Cc: linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
Bug: 260685629
(cherry picked from commit b4a9af9be6 )
Change-Id: I516a1b0ef7f4f8545e0c1b9485b49879dd7a3136
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Jiri Kosina
8621c4accd
UPSTREAM: HID: playstation: fix return from dualsense_player_led_set_brightness()
...
brightness_set_blocking() callback expects function returning int. This fixes
the follwoing build failure:
drivers/hid/hid-playstation.c: In function ‘dualsense_player_led_set_brightness’:
drivers/hid/hid-playstation.c:885:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
Bug: 260685629
(cherry picked from commit 3c92cb4cb6 )
Change-Id: Id16b960826a26ac22c1a14572444f9af29689ed6
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
409da497ab
UPSTREAM: HID: playstation: expose DualSense player LEDs through LED class.
...
The DualSense player LEDs were so far not adjustable from user-space.
This patch exposes each LED individually through the LED class. Each
LED uses the new 'player' function resulting in a name like:
'inputX:white:player-1' for the first LED.
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
Bug: 260685629
(cherry picked from commit 8c0ab553b0 )
Change-Id: I49c699a99b0b8a7bb7980560e3ea7a12faf646aa
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
295a9c7f91
UPSTREAM: leds: add new LED_FUNCTION_PLAYER for player LEDs for game controllers.
...
Player LEDs are commonly found on game controllers from Nintendo and Sony
to indicate a player ID across a number of LEDs. For example, "Player 2"
might be indicated as "-x--" on a device with 4 LEDs where "x" means on.
This patch introduces LED_FUNCTION_PLAYER1-5 defines to properly indicate
player LEDs from the kernel. Until now there was no good standard, which
resulted in inconsistent behavior across xpad, hid-sony, hid-wiimote and
other drivers. Moving forward new drivers should use LED_FUNCTION_PLAYERx.
Note: management of Player IDs is left to user space, though a kernel
driver may pick a default value.
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
Acked-by: Pavel Machek <pavel@ucw.cz >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
Bug: 260685629
(cherry picked from commit 61177c088a )
Change-Id: Ie1de4d66304bb25fc2c9fcdb1ec9b7589ad9e7ac
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Roderick Colenbrander
c3336b229d
UPSTREAM: HID: playstation: expose DualSense lightbar through a multi-color LED.
...
The DualSense lightbar has so far been supported, but it was not yet
adjustable from user space. This patch exposes it through a multi-color
LED.
Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
Bug: 260685629
(cherry picked from commit fc97b4d6a1 )
Change-Id: I48204113da804b13ad5bed2f651a5826ab5a86f7
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Pavel Machek
39563d2066
UPSTREAM: Documentation: leds: standartizing LED names
...
We have a list of valid functions, but LED names in sysfs are still
far from being consistent. Create list of "well known" LED names so we
nudge people towards using same LED names (except color) for same
functionality.
Signed-off-by: Pavel Machek <pavel@ucw.cz >
Bug: 260685629
(cherry picked from commit 09f1273064 )
Change-Id: Iea12a9c230d6cd072b0f4fd4e0c616348173dd53
Signed-off-by: Farid Chahla <farid.chahla@sony.com >
2022-12-19 19:50:48 +00:00
Bian Jin chen
ceff5c1670
ANDROID: GKI: Add symbols for crypto
...
23 function symbol(s) added
'void __crypto_xor(u8 *, const u8 *, const u8 *, unsigned int)'
'int ce_aes_expandkey(struct crypto_aes_ctx *, const u8 *, unsigned int)'
'int crypto_ahash_digest(struct ahash_request *)'
'int crypto_ahash_final(struct ahash_request *)'
'struct crypto_ahash * crypto_alloc_ahash(const char *, u32, u32)'
'struct crypto_akcipher * crypto_alloc_akcipher(const char *, u32, u32)'
'struct crypto_async_request * crypto_dequeue_request(struct crypto_queue *)'
'int crypto_enqueue_request(struct crypto_queue *, struct crypto_async_request *)'
'void crypto_inc(u8 *, unsigned int)'
'void crypto_init_queue(struct crypto_queue *, unsigned int)'
'int crypto_register_akcipher(struct akcipher_alg *)'
'int crypto_sha1_finup(struct shash_desc *, const u8 *, unsigned int, u8 *)'
'int crypto_sha1_update(struct shash_desc *, const u8 *, unsigned int)'
'void crypto_unregister_ahash(struct ahash_alg *)'
'void crypto_unregister_akcipher(struct akcipher_alg *)'
'void crypto_unregister_algs(struct crypto_alg *, int)'
'void crypto_unregister_skcipher(struct skcipher_alg *)'
'void gf128mul_lle(be128 *, const be128 *)'
'int rsa_parse_priv_key(struct rsa_key *, void *, unsigned int)'
'int rsa_parse_pub_key(struct rsa_key *, void *, unsigned int)'
'struct scatterlist * sg_last(struct scatterlist *, unsigned int)'
'int sg_nents(struct scatterlist *)'
'size_t sg_pcopy_to_buffer(struct scatterlist *, unsigned int, void *, size_t, off_t)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I6ead1bad2e1fb4935a9e044e54f7c6a25a314dfa
2022-12-17 12:08:39 +08:00
Eric Biggers
dc01503266
ANDROID: fips140: add dump_jitterentropy command to fips140_lab_util
...
For the entropy analysis, we must provide some output from the Jitter
RNG: a large amount of output from one instance, and a smaller amount of
output from each of a certain number of instances.
The original plan was to use a build of the userspace jitterentropy
library that matches the kernel's jitterentropy_rng as closely as
possible. However, it's now being requested that the output be gotten
from the kernel instead.
Now that fips140_lab_util depends on AF_ALG anyway, it's straightforward
to dump output from jitterentropy_rng instances using AF_ALG.
Therefore, add a command dump_jitterentropy which supports this.
Bug: 188620248
Change-Id: I78eb26250e88f2fc28fc44aa201acbe5b84df8bb
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-16 19:01:49 +00:00
Bian Jin chen
6ab4ce67b5
ANDROID: GKI: Add symbols for misc driver
...
27 function symbol(s) added
'__arm_smccc_hvc'
'void bitmap_free(const unsigned long int *)'
'unsigned long int * bitmap_zalloc(unsigned int, gfp_t)'
'struct device * class_find_device(struct class *, struct device *, void *, int(*)(struct device *, void *))'
'struct iio_channel * devm_iio_channel_get(struct device *, const char *)'
'unsigned long int gen_pool_best_fit(unsigned long int *, unsigned long int, unsigned long int, unsigned int, void *, struct gen_pool *, unsigned long int)'
'void gen_pool_set_algo(struct gen_pool *, genpool_algo_t, void *)'
'phys_addr_t gen_pool_virt_to_phys(struct gen_pool *, unsigned long int)'
'int get_kernel_pages(const struct kvec *, int, int, struct page * *)'
'int i2c_bit_add_numbered_bus(struct i2c_adapter *)'
'void iio_channel_release_all(struct iio_channel *)'
'int iio_get_channel_type(struct iio_channel *, enum iio_chan_type *)'
'int iio_read_channel_processed(struct iio_channel *, int *)'
'int iio_update_buffers(struct iio_dev *, struct iio_buffer *, struct iio_buffer *)'
'void input_set_poll_interval(struct input_dev *, unsigned int)'
'int input_setup_polling(struct input_dev *, void(*)(struct input_dev *))'
'int irq_domain_xlate_onetwocell(struct irq_domain *, struct device_node *, const u32 *, unsigned int, unsigned long int *, unsigned int *)'
'int irq_set_chip(unsigned int, struct irq_chip *)'
'int irq_set_parent(int, int)'
'int led_classdev_flash_register_ext(struct device *, struct led_classdev_flash *, struct led_init_data *)'
'void led_classdev_flash_unregister(struct led_classdev_flash *)'
'void led_set_brightness_nosleep(struct led_classdev *, enum led_brightness)'
'int led_trigger_register(struct led_trigger *)'
'void led_trigger_unregister(struct led_trigger *)'
'struct pinctrl_gpio_range * pinctrl_find_gpio_range_from_pin(struct pinctrl_dev *, unsigned int)'
'unsigned int swiotlb_max_segment()'
'void unpin_user_pages(struct page * *, unsigned long int)'
1 variable symbol(s) added
'unsigned long int avenrun[3]'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I531260b6e0dc7784f2abe079dfbaf13932dc1d0e
2022-12-16 18:39:48 +00:00
Eric Biggers
76938a48b3
UPSTREAM: crypto: algboss - compile out test-related code when tests disabled
...
When CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is set, the code in algboss.c
that handles CRYPTO_MSG_ALG_REGISTER is unnecessary, so make it be
compiled out.
Signed-off-by: Eric Biggers <ebiggers@google.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit 441cb1b730 )
Change-Id: I11ebf60e1915ad5d13bd16a26d6c2c0944b4c401
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Eric Biggers
4294518a56
UPSTREAM: crypto: api - compile out crypto_boot_test_finished when tests disabled
...
The crypto_boot_test_finished static key is unnecessary when self-tests
are disabled in the kconfig, so optimize it out accordingly, along with
the entirety of crypto_start_tests(). This mainly avoids the overhead
of an unnecessary static_branch_enable() on every boot.
Signed-off-by: Eric Biggers <ebiggers@google.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit 06bd9c967e )
Change-Id: I68eff9772dc219a8786bf410cb4e946052ea7811
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Eric Biggers
1301367224
UPSTREAM: crypto: algboss - optimize registration of internal algorithms
...
Since algboss always skips testing of algorithms with the
CRYPTO_ALG_INTERNAL flag, there is no need to go through the dance of
creating the test kthread, which creates a lot of overhead. Instead, we
can just directly finish the algorithm registration, like is now done
when self-tests are disabled entirely.
Signed-off-by: Eric Biggers <ebiggers@google.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit 9cadd73ade )
Change-Id: I10f814cd6903d41265f69297d8568b43ec30012e
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Eric Biggers
83685e1c4a
BACKPORT: crypto: api - optimize algorithm registration when self-tests disabled
...
Currently, registering an algorithm with the crypto API always causes a
notification to be posted to the "cryptomgr", which then creates a
kthread to self-test the algorithm. However, if self-tests are disabled
in the kconfig (as is the default option), then this kthread just
notifies waiters that the algorithm has been tested, then exits.
This causes a significant amount of overhead, especially in the kthread
creation and destruction, which is not necessary at all. For example,
in a quick test I found that booting a "minimum" x86_64 kernel with all
the crypto options enabled (except for the self-tests) takes about 400ms
until PID 1 can start. Of that, a full 13ms is spent just doing this
pointless dance, involving a kthread being created, run, and destroyed
over 200 times. That's over 3% of the entire kernel start time.
Fix this by just skipping the creation of the test larval and the
posting of the registration notification entirely, when self-tests are
disabled.
Signed-off-by: Eric Biggers <ebiggers@google.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit a7008584ab )
(Resolved trivial conflict due to missing upstream commit d6097b8d5d )
Change-Id: Ia6be068618e9286c1be01415a6766ba2fa94fc0d
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Herbert Xu
50d30af868
UPSTREAM: crypto: api - Fix boot-up crash when crypto manager is disabled
...
When the crypto manager is disabled, we need to explicitly set
the crypto algorithms' tested status so that they can be used.
Fixes: cad439fc04 ("crypto: api - Do not create test larvals if...")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org >
Reported-by: Ido Schimmel <idosch@idosch.org >
Reported-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Tested-by: Ido Schimmel <idosch@nvidia.com >
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit beaaaa37c6 )
Change-Id: I6cb42580e4774fbfd075497468b488be3447b7a9
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Herbert Xu
c10b51f9ed
UPSTREAM: crypto: api - Do not create test larvals if manager is disabled
...
The delayed boot-time testing patch created a dependency loop
between api.c and algapi.c because it added a crypto_alg_tested
call to the former when the crypto manager is disabled.
We could instead avoid creating the test larvals if the crypto
manager is disabled. This avoids the dependency loop as well
as saving some unnecessary work, albeit in a very unlikely case.
Reported-by: Nathan Chancellor <nathan@kernel.org >
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org >
Reported-by: kernel test robot <lkp@intel.com >
Fixes: adad556efc ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit cad439fc04 )
Change-Id: I4e0e0b2022dc060fc1d84744e04beae411165ad0
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Herbert Xu
ccb916e15f
UPSTREAM: crypto: api - Export crypto_boot_test_finished
...
We need to export crypto_boot_test_finished in case api.c is
built-in while algapi.c is built as a module.
Fixes: adad556efc ("crypto: api - Fix built-in testing dependency failures")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au > # ppc32 build
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit e42dff467e )
Change-Id: Iefc190f29539084e7c84e23120e861de2e0b9351
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Herbert Xu
46d85d752a
UPSTREAM: crypto: api - Fix built-in testing dependency failures
...
When complex algorithms that depend on other algorithms are built
into the kernel, the order of registration must be done such that
the underlying algorithms are ready before the ones on top are
registered. As otherwise they would fail during the self-test
which is required during registration.
In the past we have used subsystem initialisation ordering to
guarantee this. The number of such precedence levels are limited
and they may cause ripple effects in other subsystems.
This patch solves this problem by delaying all self-tests during
boot-up for built-in algorithms. They will be tested either when
something else in the kernel requests for them, or when we have
finished registering all built-in algorithms, whichever comes
earlier.
Reported-by: Vladis Dronov <vdronov@redhat.com >
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Bug: 256875295
(cherry picked from commit adad556efc )
Change-Id: I9cb048ffe0ce7e471cc6e71904f1b2c462b57be4
Signed-off-by: Eric Biggers <ebiggers@google.com >
2022-12-15 19:16:27 +00:00
Bian Jin chen
f2470c29a5
ANDROID: GKI: Enable multimedia
...
11 function symbol(s) added
'unsigned long int alloc_iova_fast(struct iova_domain *, unsigned long int, unsigned long int, bool)'
'int devfreq_remove_governor(struct devfreq_governor *)'
'int device_match_name(struct device *, void *)'
'bool disable_hardirq(unsigned int)'
'int drm_gem_dumb_destroy(struct drm_file *, struct drm_device *, uint32_t)'
'int drm_gem_handle_delete(struct drm_file *, u32)'
'void free_iova_fast(struct iova_domain *, unsigned long int, unsigned long int)'
'void iommu_detach_group(struct iommu_domain *, struct iommu_group *)'
'int iommu_dma_reserve_iova(struct device *, dma_addr_t, u64)'
'struct platform_device * of_device_alloc(struct device_node *, const char *, struct device *)'
'int vm_insert_page(struct vm_area_struct *, unsigned long int, struct page *)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I5dc79849a31303134a66fffd9e072d6311632dd8
2022-12-15 17:39:11 +08:00
Bian Jin chen
ef563b9a2f
ANDROID: : GKI: Enable symbols for camera
...
37 function symbol(s) added
'int __media_device_register(struct media_device *, struct module *)'
'int __v4l2_ctrl_handler_setup(struct v4l2_ctrl_handler *)'
'int __v4l2_ctrl_modify_range(struct v4l2_ctrl *, s64, s64, u64, s64)'
'int __v4l2_ctrl_s_ctrl(struct v4l2_ctrl *, s32)'
'int __v4l2_ctrl_s_ctrl_int64(struct v4l2_ctrl *, s64)'
'ssize_t iio_read_const_attr(struct device *, struct device_attribute *, char *)'
'void media_device_cleanup(struct media_device *)'
'void media_device_init(struct media_device *)'
'void media_device_unregister(struct media_device *)'
'int media_entity_setup_link(struct media_link *, u32)'
'void media_graph_walk_cleanup(struct media_graph *)'
'int media_graph_walk_init(struct media_graph *, struct media_device *)'
'struct media_entity * media_graph_walk_next(struct media_graph *)'
'void media_graph_walk_start(struct media_graph *, struct media_entity *)'
'int media_pipeline_start(struct media_entity *, struct media_pipeline *)'
'void media_pipeline_stop(struct media_entity *)'
'int v4l2_async_notifier_register(struct v4l2_device *, struct v4l2_async_notifier *)'
'void v4l2_async_unregister_subdev(struct v4l2_subdev *)'
's64 v4l2_ctrl_g_ctrl_int64(struct v4l2_ctrl *)'
'struct v4l2_ctrl * v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler *, const struct v4l2_ctrl_ops *, u32, u8, u8, const s64 *)'
'struct v4l2_ctrl * v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler *, const struct v4l2_ctrl_ops *, u32, u8, u64, u8, const char * const *)'
'int v4l2_ctrl_subdev_log_status(struct v4l2_subdev *)'
'int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev *, struct v4l2_fh *, struct v4l2_event_subscription *)'
'int v4l2_enum_dv_timings_cap(struct v4l2_enum_dv_timings *, const struct v4l2_dv_timings_cap *, v4l2_check_dv_timings_fnc *, void *)'
'void v4l2_event_queue(struct video_device *, const struct v4l2_event *)'
'int v4l2_event_subdev_unsubscribe(struct v4l2_subdev *, struct v4l2_fh *, struct v4l2_event_subscription *)'
'int v4l2_event_subscribe(struct v4l2_fh *, const struct v4l2_event_subscription *, unsigned int, const struct v4l2_subscribed_event_ops *)'
'bool v4l2_match_dv_timings(const struct v4l2_dv_timings *, const struct v4l2_dv_timings *, unsigned int, bool)'
'int v4l2_pipeline_link_notify(struct media_link *, u32, unsigned int)'
'int v4l2_pipeline_pm_get(struct media_entity *)'
'void v4l2_pipeline_pm_put(struct media_entity *)'
'void v4l2_print_dv_timings(const char *, const char *, const struct v4l2_dv_timings *, bool)'
'int v4l2_src_change_event_subdev_subscribe(struct v4l2_subdev *, struct v4l2_fh *, struct v4l2_event_subscription *)'
'int v4l2_subdev_link_validate(struct media_link *)'
'void v4l2_subdev_notify_event(struct v4l2_subdev *, const struct v4l2_event *)'
'bool v4l2_valid_dv_timings(const struct v4l2_dv_timings *, const struct v4l2_dv_timings_cap *, v4l2_check_dv_timings_fnc *, void *)'
'int vb2_ioctl_prepare_buf(struct file *, void *, struct v4l2_buffer *)'
1 variable symbol(s) added
'const char * v4l2_type_names[15]'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: Ibcedeab5b59ca85611d1930c02497f0860dc4446
2022-12-14 19:35:45 +00:00
Bian Jin chen
fcf367d4f3
ANDROID: : GKI: Add symbols for rockchip phy
...
31 function symbol(s) added
'int devm_extcon_register_notifier(struct device *, struct extcon_dev *, unsigned int, struct notifier_block *)'
'int extcon_sync(struct extcon_dev *, unsigned int)'
'bool fwnode_device_is_available(const struct fwnode_handle *)'
'struct fwnode_handle * fwnode_graph_get_next_endpoint(const struct fwnode_handle *, struct fwnode_handle *)'
'struct fwnode_handle * fwnode_graph_get_port_parent(const struct fwnode_handle *)'
'struct fwnode_handle * fwnode_graph_get_remote_endpoint(const struct fwnode_handle *)'
'struct fwnode_handle * fwnode_graph_get_remote_port_parent(const struct fwnode_handle *)'
'int fwnode_graph_parse_endpoint(const struct fwnode_handle *, struct fwnode_endpoint *)'
'int fwnode_property_get_reference_args(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *)'
'int fwnode_property_read_u64_array(const struct fwnode_handle *, const char *, u64 *, size_t)'
'int media_create_pad_link(struct media_entity *, u16, struct media_entity *, u16, u32)'
'int media_entity_pads_init(struct media_entity *, u16, struct media_pad *)'
'struct media_pad * media_entity_remote_pad(const struct media_pad *)'
'struct platform_device * of_platform_device_create(struct device_node *, const char *, struct device *)'
'enum usb_dr_mode of_usb_get_dr_mode_by_phy(struct device_node *, int)'
'int phy_mipi_dphy_config_validate(struct phy_configure_opts_mipi_dphy *)'
'void * typec_mux_get_drvdata(struct typec_mux *)'
'struct typec_mux * typec_mux_register(struct device *, const struct typec_mux_desc *)'
'void typec_mux_unregister(struct typec_mux *)'
'int usb_add_phy(struct usb_phy *, enum usb_phy_type)'
'enum usb_device_speed usb_get_maximum_speed(struct device *)'
'struct v4l2_async_subdev * v4l2_async_notifier_add_fwnode_subdev(struct v4l2_async_notifier *, struct fwnode_handle *, unsigned int)'
'int v4l2_async_notifier_add_subdev(struct v4l2_async_notifier *, struct v4l2_async_subdev *)'
'void v4l2_async_notifier_cleanup(struct v4l2_async_notifier *)'
'void v4l2_async_notifier_init(struct v4l2_async_notifier *)'
'void v4l2_async_notifier_unregister(struct v4l2_async_notifier *)'
'int v4l2_async_register_subdev(struct v4l2_subdev *)'
'int v4l2_async_subdev_notifier_register(struct v4l2_subdev *, struct v4l2_async_notifier *)'
'struct v4l2_ctrl * v4l2_ctrl_find(struct v4l2_ctrl_handler *, u32)'
's32 v4l2_ctrl_g_ctrl(struct v4l2_ctrl *)'
'int v4l2_querymenu(struct v4l2_ctrl_handler *, struct v4l2_querymenu *)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I10283a87163750a8dfb9c25830698ee0cbf151da
2022-12-14 19:35:45 +00:00
Bian Jin chen
9078255b0a
ANDROID: : GKI: Add symbols for dwc pcie controller
...
14 function symbol(s) added
'void debugfs_create_devm_seqfile(struct device *, const char *, struct dentry *, int(*)(struct seq_file *, void *))'
'struct pci_host_bridge * devm_pci_alloc_host_bridge(struct device *, size_t)'
'void * devm_pci_remap_cfg_resource(struct device *, struct resource *)'
'u16 dw_pcie_find_ext_capability(struct dw_pcie *, u8)'
'int dw_pcie_link_up(struct dw_pcie *)'
'u32 dw_pcie_read_dbi(struct dw_pcie *, u32, size_t)'
'void dw_pcie_write_dbi(struct dw_pcie *, u32, size_t, u32)'
'int of_pci_get_max_link_speed(struct device_node *)'
'int pci_disable_link_state(struct pci_dev *, int)'
'int pci_host_probe(struct pci_host_bridge *)'
'void pci_remove_root_bus(struct pci_bus *)'
'void pci_stop_root_bus(struct pci_bus *)'
'int pcie_capability_clear_and_set_word(struct pci_dev *, int, u16, u16)'
'int regulator_get_current_limit(struct regulator *)'
1 variable symbol(s) added
'struct irq_chip dummy_irq_chip'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: I6394ebfe65ee352af0d049be9963e49dddd92eb1
2022-12-14 19:35:45 +00:00
Bian Jin chen
c85c26ba19
ANDROID: : GKI: Enable symbols for display interface
...
50 function symbol(s) added
'struct backlight_device * backlight_device_register(const char *, struct device *, void *, const struct backlight_ops *, const struct backlight_properties *)'
'void cec_fill_conn_info_from_drm(struct cec_connector_info *, const struct drm_connector *)'
'struct cec_notifier * cec_notifier_cec_adap_register(struct device *, const char *, struct cec_adapter *)'
'void cec_notifier_cec_adap_unregister(struct cec_notifier *, struct cec_adapter *)'
'struct cec_notifier * cec_notifier_conn_register(struct device *, const char *, const struct cec_connector_info *)'
'void cec_notifier_conn_unregister(struct cec_notifier *)'
'void cec_notifier_set_phys_addr(struct cec_notifier *, u16)'
'void cec_notifier_set_phys_addr_from_edid(struct cec_notifier *, const struct edid *)'
'void cec_queue_pin_hpd_event(struct cec_adapter *, bool, ktime_t)'
'struct phy * devm_of_phy_get(struct device *, struct device_node *, const char *)'
'struct phy * devm_of_phy_get_by_index(struct device *, struct device_node *, int)'
'struct phy * devm_phy_optional_get(struct device *, const char *)'
'void devm_remove_action(struct device *, void(*)(void *), void *)'
'struct edid * drm_bridge_get_edid(struct drm_bridge *, struct drm_connector *)'
'int drm_connector_attach_max_bpc_property(struct drm_connector *, int, int)'
'enum hdmi_quantization_range drm_default_rgb_quant_range(const struct drm_display_mode *)'
'int drm_dp_get_phy_test_pattern(struct drm_dp_aux *, struct drm_dp_phy_test_params *)'
'int drm_dp_read_desc(struct drm_dp_aux *, struct drm_dp_desc *, bool)'
'int drm_dp_read_dpcd_caps(struct drm_dp_aux *, u8 *)'
'int drm_dp_read_sink_count(struct drm_dp_aux *)'
'int drm_dp_set_phy_test_pattern(struct drm_dp_aux *, struct drm_dp_phy_test_params *, u8)'
'int drm_dp_start_crc(struct drm_dp_aux *, struct drm_crtc *)'
'int drm_dp_stop_crc(struct drm_dp_aux *)'
'void drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *, const struct drm_connector *, const struct drm_display_mode *, enum hdmi_quantization_range)'
'int drm_hdmi_infoframe_set_hdr_metadata(struct hdmi_drm_infoframe *, const struct drm_connector_state *)'
'int drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe *, const struct drm_connector *, const struct drm_display_mode *)'
'u8 drm_match_cea_mode(const struct drm_display_mode *)'
'int drm_mode_create_hdmi_colorspace_property(struct drm_connector *)'
'bool drm_mode_is_420(const struct drm_display_info *, const struct drm_display_mode *)'
'bool drm_mode_is_420_also(const struct drm_display_info *, const struct drm_display_mode *)'
'bool drm_mode_is_420_only(const struct drm_display_info *, const struct drm_display_mode *)'
'int drm_of_encoder_active_endpoint(struct device_node *, struct drm_encoder *, struct of_endpoint *)'
'void drm_panel_bridge_remove(struct drm_bridge *)'
'void drm_property_destroy(struct drm_device *, struct drm_property *)'
'int drm_property_replace_global_blob(struct drm_device *, struct drm_property_blob * *, size_t, void *, struct drm_mode_object *, struct drm_property *)'
'ssize_t drm_scdc_read(struct i2c_adapter *, u8, void *, size_t)'
'bool drm_scdc_set_high_tmds_clock_ratio(struct i2c_adapter *, bool)'
'bool drm_scdc_set_scrambling(struct i2c_adapter *, bool)'
'ssize_t drm_scdc_write(struct i2c_adapter *, u8, void *, size_t)'
'ssize_t hdmi_avi_infoframe_pack_only(const struct hdmi_avi_infoframe *, void *, size_t)'
'ssize_t hdmi_drm_infoframe_pack(struct hdmi_drm_infoframe *, void *, size_t)'
'ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *, void *, size_t)'
'struct iio_channel * iio_channel_get(struct device *, const char *)'
'bool mipi_dsi_packet_format_is_short(u8)'
'int phy_mipi_dphy_get_default_config(unsigned long int, unsigned int, unsigned int, struct phy_configure_opts_mipi_dphy *)'
'void pwm_free(struct pwm_device *)'
'struct pwm_device * pwm_request(int, const char *)'
'int report_iommu_fault(struct iommu_domain *, struct device *, unsigned long int, int)'
'void sha1_init(__u32 *)'
'void sha1_transform(__u32 *, const char *, __u32 *)'
Bug: 239396464
Signed-off-by: Kever Yang <kever.yang@rock-chips.com >
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com >
Change-Id: Ie5ced38ed41c74d3d2684ff80d49b3429acfcae5
2022-12-14 19:35:45 +00:00
Lee Jones
2bf2370001
UPSTREAM: drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame
...
commit 6f6cb17143 upstream.
Patch series "Fix a bunch of allmodconfig errors", v2.
Since b339ec9c22 ("kbuild: Only default to -Werror if COMPILE_TEST")
WERROR now defaults to COMPILE_TEST meaning that it's enabled for
allmodconfig builds. This leads to some interesting build failures when
using Clang, each resolved in this set.
With this set applied, I am able to obtain a successful allmodconfig Arm
build.
This patch (of 2):
calculate_bandwidth() is presently broken on all !(X86_64 || SPARC64 ||
ARM64) architectures built with Clang (all released versions), whereby the
stack frame gets blown up to well over 5k. This would cause an immediate
kernel panic on most architectures. We'll revert this when the following
bug report has been resolved:
https://github.com/llvm/llvm-project/issues/41896 .
Bug: 261962742
Link: https://lkml.kernel.org/r/20221125120750.3537134-1-lee@kernel.org
Link: https://lkml.kernel.org/r/20221125120750.3537134-2-lee@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org >
Suggested-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: David Airlie <airlied@gmail.com >
Cc: Harry Wentland <harry.wentland@amd.com >
Cc: Lee Jones <lee@kernel.org >
Cc: Leo Li <sunpeng.li@amd.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Nathan Chancellor <nathan@kernel.org >
Cc: Nick Desaulniers <ndesaulniers@google.com >
Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com >
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Tom Rix <trix@redhat.com >
Cc: <stable@vger.kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Signed-off-by: Lee Jones <joneslee@google.com >
Change-Id: Iaa42b18cdcf9fe23d740c036371bd7950d431e14
Signed-off-by: Lee Jones <joneslee@google.com >
2022-12-14 08:01:23 +00:00