[syslinux:pathbased] memdisk: Correct El Torito termination response
syslinux-bot for Shao Miller
shao.miller at yrdsb.edu.on.ca
Sat Jun 19 19:12:02 PDT 2010
Commit-ID: 38792ac66a4d4285a06ba8b6ee5b866792f536f4
Gitweb: http://syslinux.zytor.com/commit/38792ac66a4d4285a06ba8b6ee5b866792f536f4
Author: Shao Miller <shao.miller at yrdsb.edu.on.ca>
AuthorDate: Mon, 14 Jun 2010 23:36:34 -0400
Committer: Shao Miller <shao.miller at yrdsb.edu.on.ca>
CommitDate: Tue, 15 Jun 2010 00:48:50 -0400
memdisk: Correct El Torito termination response
Two changes to the INT 0x13, AH=0x7B El Torito function:
1. Support the DL=0x7F "terminate all" parameter
2. Only respond to DL=0x7F or DL=our particular emulated drive number
This prevents tools like Bart Lagerweij's El Torito tools from
receiving false positives when probing all drive numbers.
Signed-off-by: Shao Miller <shao.miller at yrdsb.edu.on.ca>
---
memdisk/memdisk.inc | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/memdisk/memdisk.inc b/memdisk/memdisk.inc
index 90e6ef9..91040ba 100644
--- a/memdisk/memdisk.inc
+++ b/memdisk/memdisk.inc
@@ -616,7 +616,12 @@ ElToritoTerminate:
mov ax,[cs:SavedAX]
cmp al,1 ; We only support query, not terminate
jne ElToritoErr ; Fail
- mov es,P_DS ; Caller's DS:SI pointed to packet
+ cmp dl,7fh ; Terminate all?
+ je .doit
+ cmp dl,[cs:DriveNo] ; Terminate our drive?
+ je .doit
+ jmp ElToritoErr ; Fail
+.doit: mov es,P_DS ; Caller's DS:SI pointed to packet
mov di,P_SI ; We'll use ES:DI
mov si,CD_PKT.size ; First byte is packet size
xor cx,0 ; Empty our count
More information about the Syslinux-commits
mailing list