Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
Sync up with android12-5.10 for the following commits:af699fd6a2
ANDROID: vendor_hook: skip trace_android_vh_page_trylock_set when ignore_references is true5aec776ef8
BACKPORT: ANDROID: dma-buf: Move sysfs work out of DMA-BUF export pathd61d7ebf6f
UPSTREAM: wifi: mac80211: fix MBSSID parsing use-after-free173913b365
UPSTREAM: wifi: mac80211: don't parse mbssid in assoc response9ed9ab8ca9
UPSTREAM: mac80211: mlme: find auth challenge directlyd6e68e31b8
UPSTREAM: wifi: cfg80211: update hidden BSSes to avoid WARN_ON3ea906ba30
UPSTREAM: wifi: mac80211: fix crash in beacon protection for P2P-device241426b24b
UPSTREAM: wifi: mac80211_hwsim: avoid mac80211 warning on bad rate50e27143a5
UPSTREAM: wifi: cfg80211: avoid nontransmitted BSS list corruption05a0122295
UPSTREAM: wifi: cfg80211: fix BSS refcounting bugs2e8c292e35
UPSTREAM: wifi: cfg80211: ensure length byte is present before access5f6b14356a
UPSTREAM: wifi: cfg80211/mac80211: reject bad MBSSID elements6aeb3ccf09
UPSTREAM: wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()13a84bfa4f
ANDROID: GKI: Update symbols to symbol list09f4246296
ANDROID: sched: add restricted hooks to replace the former hooks376aaf803f
ANDROID: GKI: Add symbol snd_pcm_stop_xrun8512c353a2
ANDROID: ABI: update allowed list for galaxy439fc06787
ANDROID: GKI: Update symbols to symbol listbeaaa7bff8
UPSTREAM: dma-buf: ensure unique directory name for dmabuf statsd71115b1bf
UPSTREAM: dma-buf: call dma_buf_stats_setup after dmabuf is in valid listf9a66cbe70
ANDROID: GKI: Update symbol list for mtk AIoT projectsa3835ce695
UPSTREAM: psi: Fix psi state corruption when schedule() races with cgroup move3b39e91301
BACKPORT: HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_reportc35cda5280
BACKPORT: mm: don't be stuck to rmap lock on reclaim path9613bc53b5
Revert "firmware_loader: use kernel credentials when reading firmware"95f23ced41
UPSTREAM: crypto: jitter - add oversampling of noise sourceb046e2dca5
ANDROID: Fix kenelci build-break for !CONFIG_PERF_EVENTS24220df802
FROMGIT: f2fs: support recording stop_checkpoint reason into super_blockf18e68a234
UPSTREAM: wifi: mac80211_hwsim: use 32-bit skb cookie08cb67eb33
UPSTREAM: wifi: mac80211_hwsim: add back erroneously removed cast9b080edfbd
UPSTREAM: wifi: mac80211_hwsim: fix race condition in pending packet Update the .xml file with the newly tracked symbols: Leaf changes summary: 30 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 24 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 6 Added variables 24 Added functions: [A] 'function void __rtnl_link_unregister(rtnl_link_ops*)' [A] 'function int __traceiter_android_rvh_alloc_si(void*, swap_info_struct**, bool*)' [A] 'function int __traceiter_android_rvh_alloc_swap_slot_cache(void*, swap_slots_cache*, int*, bool*)' [A] 'function int __traceiter_android_rvh_drain_slots_cache_cpu(void*, swap_slots_cache*, unsigned int, bool, bool*)' [A] 'function int __traceiter_android_rvh_free_swap_slot(void*, swp_entry_t, swap_slots_cache*, bool*)' [A] 'function int __traceiter_android_rvh_get_swap_page(void*, page*, swp_entry_t*, swap_slots_cache*, bool*)' [A] 'function int __traceiter_android_rvh_handle_pte_fault_end(void*, vm_fault*, unsigned long int)' [A] 'function net_device* dev_get_by_index_rcu(net*, int)' [A] 'function phy_device* fixed_phy_register(unsigned int, fixed_phy_status*, device_node*)' [A] 'function void fixed_phy_unregister(phy_device*)' [A] 'function irq_domain* irq_domain_add_simple(device_node*, unsigned int, unsigned int, const irq_domain_ops*, void*)' [A] 'function int nf_register_net_hook(net*, const nf_hook_ops*)' [A] 'function void nf_unregister_net_hook(net*, const nf_hook_ops*)' [A] 'function int phy_ethtool_set_wol(phy_device*, ethtool_wolinfo*)' [A] 'function int phy_register_fixup_for_uid(u32, u32, int (phy_device*)*)' [A] 'function int phy_save_page(phy_device*)' [A] 'function int phy_unregister_fixup_for_uid(u32, u32)' [A] 'function int snd_pcm_stop_xrun(snd_pcm_substream*)' [A] 'function void tty_encode_baud_rate(tty_struct*, speed_t, speed_t)' [A] 'function int usb_autopm_get_interface_async(usb_interface*)' [A] 'function void usb_autopm_put_interface_async(usb_interface*)' [A] 'function int usb_clear_halt(usb_device*, int)' [A] 'function int usb_interrupt_msg(usb_device*, unsigned int, void*, int, int*, int)' [A] 'function int usb_unlink_urb(urb*)' 6 Added variables: [A] 'tracepoint __tracepoint_android_rvh_alloc_si' [A] 'tracepoint __tracepoint_android_rvh_alloc_swap_slot_cache' [A] 'tracepoint __tracepoint_android_rvh_drain_slots_cache_cpu' [A] 'tracepoint __tracepoint_android_rvh_free_swap_slot' [A] 'tracepoint __tracepoint_android_rvh_get_swap_page' [A] 'tracepoint __tracepoint_android_rvh_handle_pte_fault_end' Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I225d5838de38d886151cf619654412ee8c5428b2
This commit is contained in:
@@ -1865,7 +1865,9 @@ int __boot_cpu_id;
|
||||
/* Horrific hacks because we can't add more to cpuhp_hp_states. */
|
||||
static int random_and_perf_prepare_fusion(unsigned int cpu)
|
||||
{
|
||||
#ifdef CONFIG_PERF_EVENTS
|
||||
perf_event_init_cpu(cpu);
|
||||
#endif
|
||||
random_prepare_cpu(cpu);
|
||||
return 0;
|
||||
}
|
||||
|
@@ -1020,7 +1020,7 @@ void psi_cgroup_free(struct cgroup *cgroup)
|
||||
*/
|
||||
void cgroup_move_task(struct task_struct *task, struct css_set *to)
|
||||
{
|
||||
unsigned int task_flags = 0;
|
||||
unsigned int task_flags;
|
||||
struct rq_flags rf;
|
||||
struct rq *rq;
|
||||
|
||||
@@ -1035,15 +1035,31 @@ void cgroup_move_task(struct task_struct *task, struct css_set *to)
|
||||
|
||||
rq = task_rq_lock(task, &rf);
|
||||
|
||||
if (task_on_rq_queued(task)) {
|
||||
task_flags = TSK_RUNNING;
|
||||
if (task_current(rq, task))
|
||||
task_flags |= TSK_ONCPU;
|
||||
} else if (task->in_iowait)
|
||||
task_flags = TSK_IOWAIT;
|
||||
|
||||
if (task->in_memstall)
|
||||
task_flags |= TSK_MEMSTALL;
|
||||
/*
|
||||
* We may race with schedule() dropping the rq lock between
|
||||
* deactivating prev and switching to next. Because the psi
|
||||
* updates from the deactivation are deferred to the switch
|
||||
* callback to save cgroup tree updates, the task's scheduling
|
||||
* state here is not coherent with its psi state:
|
||||
*
|
||||
* schedule() cgroup_move_task()
|
||||
* rq_lock()
|
||||
* deactivate_task()
|
||||
* p->on_rq = 0
|
||||
* psi_dequeue() // defers TSK_RUNNING & TSK_IOWAIT updates
|
||||
* pick_next_task()
|
||||
* rq_unlock()
|
||||
* rq_lock()
|
||||
* psi_task_change() // old cgroup
|
||||
* task->cgroups = to
|
||||
* psi_task_change() // new cgroup
|
||||
* rq_unlock()
|
||||
* rq_lock()
|
||||
* psi_sched_switch() // does deferred updates in new cgroup
|
||||
*
|
||||
* Don't rely on the scheduling state. Use psi_flags instead.
|
||||
*/
|
||||
task_flags = task->psi_flags;
|
||||
|
||||
if (task_flags)
|
||||
psi_task_change(task, task_flags, 0);
|
||||
|
Reference in New Issue
Block a user