История изменений
Исправление hateyoufeel, (текущая версия) :
Собственно, если всё это никак не сказывается на потребительских свойствах программы, то никто тебе претензий и не предъявит.
Если машина, в которой контроллер запрограммирован такими обезьянами, убивает водителя об стену, претензии тоже никто не предъявит. PROFIT!!!
https://www.edn.com/toyotas-killer-firmware-bad-design-and-its-consequences/
The ECM software formed the core of the technical investigation. What follows is a list of the key findings.
Mirroring (where key data is written to redundant variables) was not always done. This gains extra significance in light of …
Stack overflow. Toyota claimed only 41% of the allocated stack space was being used. Barr’s investigation showed that 94% was closer to the truth. On top of that, stack-killing, MISRA-C rule-violating recursion was found in the code, and the CPU doesn’t incorporate memory protection to guard against stack overflow.
Two key items were not mirrored: The RTOS’ critical internal data structures; and—the most important bytes of all, the final result of all this firmware—the TargetThrottleAngle global variable.
Although Toyota had performed a stack analysis, Barr concluded the automaker had completely botched it. Toyota missed some of the calls made via pointer, missed stack usage by library and assembly functions (about 350 in total), and missed RTOS use during task switching. They also failed to perform run-time stack monitoring.
Прикинь, сишник просрал-обосрал стэк и кого-то об стену убило. Вот же хохма!
Собственно, из-за вот такого вот говнища я решил, что никогда не куплю автомобиль, в котором электроника есть где-то кроме аудиосистемы. Потому что просто нахрен так жить.
Исходная версия hateyoufeel, :
Собственно, если всё это никак не сказывается на потребительских свойствах программы, то никто тебе претензий и не предъявит.
Если машина, в которой контроллер запрограммирован такими обезьянами, убивает водителя об стену, претензии тоже никто не предъявит. PROFIT!!!
https://www.edn.com/toyotas-killer-firmware-bad-design-and-its-consequences/
The ECM software formed the core of the technical investigation. What follows is a list of the key findings.
Mirroring (where key data is written to redundant variables) was not always done. This gains extra significance in light of …
Stack overflow. Toyota claimed only 41% of the allocated stack space was being used. Barr’s investigation showed that 94% was closer to the truth. On top of that, stack-killing, MISRA-C rule-violating recursion was found in the code, and the CPU doesn’t incorporate memory protection to guard against stack overflow.
Two key items were not mirrored: The RTOS’ critical internal data structures; and—the most important bytes of all, the final result of all this firmware—the TargetThrottleAngle global variable.
Although Toyota had performed a stack analysis, Barr concluded the automaker had completely botched it. Toyota missed some of the calls made via pointer, missed stack usage by library and assembly functions (about 350 in total), and missed RTOS use during task switching. They also failed to perform run-time stack monitoring.
Прикинь, сишник просрал-обосрал стэк и кого-то об стену убило. Вот же хохма!