The alloca() does give us pointer and we have no practical way to check if the area
is actually available, resulting in corruption in corner cases.
Unfortunately we do not have too many options right now, but to use one page.
Paths
| Differential D9455 Authored by tsoome on Feb 5 2017, 6:04 PM.
Details
Summary The alloca() does give us pointer and we have no practical way to check if the area Unfortunately we do not have too many options right now, but to use one page. Test Plan Done usb/disk boot and no immediate issues were detected, CD boot is in queue. About the background: The loader (user) memory starts from physical address 0xa000,
Diff Detail
Event Timelinetsoome updated this object. This revision is now accepted and ready to land.Feb 5 2017, 10:54 PM2017-02-05 22:54:32 (UTC+0) ing.gila_gmail.com added a subscriber: ing.gila_gmail.com.Feb 6 2017, 6:01 PM2017-02-06 18:01:11 (UTC+0) Comment Actions11.0.1 release did not boot out the box for me, with this patch applied it boots again -- so I can verify it works and fixed my previous problem. Closed by commit rS313349: loader: disk io should not use alloca() (authored by tsoome). · Explain WhyFeb 6 2017, 6:44 PM2017-02-06 18:44:32 (UTC+0) This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 24775 sys/boot/i386/btx/lib/btxv86.h
sys/boot/i386/libi386/bioscd.c
sys/boot/i386/libi386/biosdisk.c
|
Can you replace this with some #define, or at the very least do the math for why 256 is the right length for 1024 bit hash?