Я пытаюсь понять это изменение ядра . Это исправление функции {get,put}_user
, которое включает в себя следующее исправление:
#ifndef __ARMEB__
- orr r2, r2, r3, lsl #8
+ orr r2, r2, rb, lsl #8
#else
- orr r2, r3, r2, lsl #8
+ orr r2, rb, r2, lsl #8
#endif
Это означает ИЛИ значения в r2
и r3
и сохраняет результат в r2
. Для исправления просто прочитайте значение из rb
вместо r3
. (__ARMEB__
указывает на большой порядковый номер или нет.)
Так что же произойдет, если эта часть исправления не была применена?