1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-11 17:10:13 +00:00

Power management fix for 6.19-rc5

Fix a crash in the hibernation image saving code that can be triggered
 when the given compression algorithm is unavailable (Malaya Kumar Rout)
 -----BEGIN PGP SIGNATURE-----
 
 iQFGBAABCAAwFiEEcM8Aw/RY0dgsiRUR7l+9nS/U47UFAmlhGicSHHJqd0Byand5
 c29ja2kubmV0AAoJEO5fvZ0v1OO1q1QH/A7sxNcitVM3I6bdoYyVDYpVnKiDQqTk
 ofzJ+eEEh2+5iD7iBoqQBVNLDWL3iOtSCk3u8VzhIoJMwvsmaxSQYqGaOMIHNSKx
 Lfdl+RsMv5LKK05uN9uxLCSIBQJkRhnKI3+AC2TEbSpmLwi0+W15XYHecj1JmyY0
 upsrRUq+XGBr2LQDoWiUmRmPay8+lp8zjoHaAorl7Jm4yr7pHV8kzrztrCOttuUx
 nUtJiCks+Srnm09uIf0ghVgzBTwnmAGYft/xOf+fRqJDy9t91Nf/oJsev28mFCsn
 qRVn/O4i8xAgba9mKiKWmHvzoqqW8omixDFShweeTdr7Lw4hADxMwn8=
 =8zHM
 -----END PGP SIGNATURE-----

Merge tag 'pm-6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fix from Rafael Wysocki:
 "This fixes a crash in the hibernation image saving code that can be
  triggered when the given compression algorithm is unavailable (Malaya
  Kumar Rout)"

* tag 'pm-6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM: hibernate: Fix crash when freeing invalid crypto compressor
This commit is contained in:
Linus Torvalds 2026-01-09 06:18:05 -10:00
commit 81c5ffec9e

View File

@ -902,7 +902,10 @@ out_clean:
for (thr = 0; thr < nr_threads; thr++) { for (thr = 0; thr < nr_threads; thr++) {
if (data[thr].thr) if (data[thr].thr)
kthread_stop(data[thr].thr); kthread_stop(data[thr].thr);
if (data[thr].cr)
acomp_request_free(data[thr].cr); acomp_request_free(data[thr].cr);
if (!IS_ERR_OR_NULL(data[thr].cc))
crypto_free_acomp(data[thr].cc); crypto_free_acomp(data[thr].cc);
} }
vfree(data); vfree(data);
@ -1499,7 +1502,10 @@ out_clean:
for (thr = 0; thr < nr_threads; thr++) { for (thr = 0; thr < nr_threads; thr++) {
if (data[thr].thr) if (data[thr].thr)
kthread_stop(data[thr].thr); kthread_stop(data[thr].thr);
if (data[thr].cr)
acomp_request_free(data[thr].cr); acomp_request_free(data[thr].cr);
if (!IS_ERR_OR_NULL(data[thr].cc))
crypto_free_acomp(data[thr].cc); crypto_free_acomp(data[thr].cc);
} }
vfree(data); vfree(data);