Merge remote-tracking branch 'sm8350/lineage-20' into lineage-22.2

* sm8350/lineage-20:
  ANDROID: fix wakeup reason findings
  Revert "genirq: Provide new interfaces for affinity hints"
  Revert "i40e: Use irq_update_affinity_hint()"
  Revert "i40e: fix IRQ freeing in i40e_vsi_request_irq_msix error path"
  Linux 5.4.300
  mm/hugetlb: fix folio is still mapped when deleted
  i40e: add mask to apply valid bits for itr_idx
  i40e: fix validation of VF state in get resources
  i40e: fix idx validation in config queues msg
  i40e: add validation for ring_len param
  i40e: increase max descriptors for XL710
  mm/migrate_device: don't add folio to be freed to LRU in migrate_device_finalize()
  fbcon: Fix OOB access in font allocation
  fbcon: fix integer overflow in fbcon_do_set_font
  i40e: add max boundary check for VF filters
  i40e: fix input validation logic for action_meta
  i40e: fix idx validation in i40e_validate_queue_map
  drm/gma500: Fix null dereference in hdmi teardown
  can: peak_usb: fix shift-out-of-bounds issue
  can: mcba_usb: populate ndo_change_mtu() to prevent buffer overflow
  ...

Change-Id: I35c2bd8174f8de67fbe46fb7fba584ee769722fa
This commit is contained in:
Michael Bestas 2025-10-08 16:01:01 +03:00
commit cd41689b70
No known key found for this signature in database
622 changed files with 45008 additions and 3929 deletions

View file

@ -2531,7 +2531,11 @@ static int handle_write_conflicts(struct drbd_device *device,
peer_req->w.cb = superseded ? e_send_superseded :
e_send_retry_write;
list_add_tail(&peer_req->w.list, &device->done_ee);
queue_work(connection->ack_sender, &peer_req->peer_device->send_acks_work);
/* put is in drbd_send_acks_wf() */
kref_get(&device->kref);
if (!queue_work(connection->ack_sender,
&peer_req->peer_device->send_acks_work))
kref_put(&device->kref, drbd_destroy_device);
err = -ENOENT;
goto out;

View file

@ -967,8 +967,10 @@ static bool vdc_port_mpgroup_check(struct vio_dev *vdev)
dev = device_find_child(vdev->dev.parent, &port_data,
vdc_device_probed);
if (dev)
if (dev) {
put_device(dev);
return true;
}
return false;
}