dmaengine: tegra: Fix burst size calculation
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: dmaengine: tegra: Fix burst size calculation Currently, the Tegra GPC DMA hardware requires the transfer length to be a multiple of the max burst size configured for the channel. When a client requests a transfer where the length is not evenly divisible by the configured max burst size, the DMA hangs with partial burst at the end. Fix this by reducing the burst size to the largest power-of-2 value that evenly divides the transfer length. For example, a 40-byte transfer with a 16-byte max burst will now use an 8-byte burst (40 / 8 = 5 complete bursts) instead of causing a hang. This issue was observed with the PL011 UART driver where TX DMA transfers of arbitrary lengths were stuck.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in 735951baa311c66353405dcac39375dd66441db0; From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in 8f0f5de1091119679d87f60dfb1acbff4b2a0ed3; From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in a3b76b54e06d73166af4d1a284a0e0711889060c; From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in 7926c1e4be86379945fb5f168888ac4d2aaf6c91; From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in 6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1; From ee17028009d49fffed8cc963455d33b1fd3f1d08 · fixed in 4651df83b6c796daead3447e8fd874322918ee4f
- Linux Linux
5.19
- KernelLinux
From 5.19.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5