Merge 5.10.92 into android12-5.10-lts
Changes in 5.10.92 md: revert io stats accounting workqueue: Fix unbind_workers() VS wq_worker_running() race bpf: Fix out of bounds access from invalid *_or_null type verification Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb() Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 Bluetooth: btusb: Add support for Foxconn MT7922A Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 Bluetooth: bfusb: fix division by zero in send path ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100 USB: core: Fix bug in resuming hub's handling of wakeup requests USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status ath11k: Fix buffer overflow when scanning with extraie mmc: sdhci-pci: Add PCI ID for Intel ADL veth: Do not record rx queue hint in veth_xmit mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() can: gs_usb: fix use of uninitialized variable, detach device on reception of invalid USB data can: isotp: convert struct tpcon::{idx,len} to unsigned int can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved} random: fix data race on crng_node_pool random: fix data race on crng init time random: fix crash on multiple early calls to add_bootloader_randomness() media: Revert "media: uvcvideo: Set unique vdev name based in type" staging: wlan-ng: Avoid bitwise vs logical OR warning in hfa384x_usb_throttlefn() drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() staging: greybus: fix stack size warning with UBSAN Linux 5.10.92 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: If1a622474ca6cad5fbe08c171396f3df521bd9a0
This commit is contained in:
@@ -6037,16 +6037,16 @@ static int adjust_ptr_min_max_vals(struct bpf_verifier_env *env,
|
||||
fallthrough;
|
||||
case PTR_TO_PACKET_END:
|
||||
case PTR_TO_SOCKET:
|
||||
case PTR_TO_SOCKET_OR_NULL:
|
||||
case PTR_TO_SOCK_COMMON:
|
||||
case PTR_TO_SOCK_COMMON_OR_NULL:
|
||||
case PTR_TO_TCP_SOCK:
|
||||
case PTR_TO_TCP_SOCK_OR_NULL:
|
||||
case PTR_TO_XDP_SOCK:
|
||||
reject:
|
||||
verbose(env, "R%d pointer arithmetic on %s prohibited\n",
|
||||
dst, reg_type_str[ptr_reg->type]);
|
||||
return -EACCES;
|
||||
default:
|
||||
if (reg_type_may_be_null(ptr_reg->type))
|
||||
goto reject;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -858,8 +858,17 @@ void wq_worker_running(struct task_struct *task)
|
||||
|
||||
if (!worker->sleeping)
|
||||
return;
|
||||
|
||||
/*
|
||||
* If preempted by unbind_workers() between the WORKER_NOT_RUNNING check
|
||||
* and the nr_running increment below, we may ruin the nr_running reset
|
||||
* and leave with an unexpected pool->nr_running == 1 on the newly unbound
|
||||
* pool. Protect against such race.
|
||||
*/
|
||||
preempt_disable();
|
||||
if (!(worker->flags & WORKER_NOT_RUNNING))
|
||||
atomic_inc(&worker->pool->nr_running);
|
||||
preempt_enable();
|
||||
worker->sleeping = 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user