Page MenuHomeFreeBSD

bcm2835_audio: Comment out vchi_service_release()
ClosedPublic

Authored by christos on Tue, Aug 18, 8:13 PM.
Tags
None
Referenced Files
F169763246: D58921.diff
Wed, Sep 2, 12:05 PM
F169559438: D58921.id.diff
Tue, Sep 1, 10:20 PM
F169472164: D58921.id184271.diff
Tue, Sep 1, 3:18 PM
F169467592: D58921.diff
Tue, Sep 1, 3:02 PM
Unknown Object (File)
Tue, Sep 1, 3:22 AM
Unknown Object (File)
Mon, Aug 31, 11:17 PM
Unknown Object (File)
Mon, Aug 31, 4:54 AM
Unknown Object (File)
Sun, Aug 30, 9:58 PM
Subscribers

Details

Summary

bcm2835_audio_release() calls vchi_service_close() and then
unconditionally calls vchi_service_release() with the same service
handle.

In the VCHI shim implementation, a successful vchi_service_close() calls
service_free(service). The subsequent vchi_service_release() therefore
dereferences a freed SHIM_SERVICE_T object when it reads
service->handle, resulting in a use-after-free panic.

vchi_service_release(), however, releases a reference which might block
vchi_service_close() from completing successfuly, so comment it out
instead of removing it altogether, until further testing is done.

MFC after: 2 weeks

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable