Rev 9896 |
Rev 9898 |
Go to most recent revision |
Last modification |
Compare with Previous |
View Log
| RSS feed
Last modification
- Rev 9897 2023-01-30 03:33:03
- Author: dunkaist
- Log message:
- [kernel] Fix reading from empty board buffer (sf63.2)
Syscall 63.2, reading from the board buffer, was overwriting registers
edx and ebp when the buffer was empty. Now it sets eax and ebx according
to the kernel API.
Because of this ancient bug BOARD checks the status of sf63.2 syscall
this way:
mcall 63, 2
cmp ebx, 1
jne no_data
; when the buffer is empty, ebx is untouched, i.e. still 2, haha
; edx and ebp are destroyed, the code is lucky not to use them
By the way, the bug was found using umka tool.