Commit Graph

1685 Commits

Author SHA1 Message Date
Coldy
ed25f2c1ca Dll autoload
Kernel
- removed unnecessary and rewrote/add some comments, no code changes
User (lib/dll.obj)   
- Introduced new KX header as extension for existing formats
- Added staring KX header processing
- Improved import table test logic, no reason to kill app for import absence - skip 
  import processing (tnx ProMiNick)
- Add ReadMe.txt


git-svn-id: svn://kolibrios.org@8709 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-05-01 16:17:27 +00:00
Coldy
b91122a57b Fix vulnerabilitie in sysfn 74.1 (add sanity check for user buffer), now user applications can't corrupt kernel memory via invalid buffer address
git-svn-id: svn://kolibrios.org@8700 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-28 06:56:45 +00:00
7f4ba4d3e1 fixed multiple vulnerabilities in sysfn70 caused by absence of user addresses check
git-svn-id: svn://kolibrios.org@8680 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-24 21:16:55 +00:00
0c0895f9a0 fixed vulnerability (kernel memory rewrite) in sysfn 30.2 and 30.5
git-svn-id: svn://kolibrios.org@8676 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-22 20:56:05 +00:00
c7a8498e42 fixed vulnerability (reading kernel memory from userspace) in sysfn25
git-svn-id: svn://kolibrios.org@8675 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-22 19:59:52 +00:00
Coldy
cb3d4656b9 For DLL autoload
git-svn-id: svn://kolibrios.org@8671 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-04-17 08:52:27 +00:00
af53d12ef9 uefi4kos: Make sure 32bit trampoline is below 4GiB
This fixes booting via uefi64kos on some systems.

git-svn-id: svn://kolibrios.org@8656 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-03-31 19:45:53 +00:00
da8b70d99e fixed same vulnerability in sysfn 48.3
git-svn-id: svn://kolibrios.org@8599 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-02-21 11:03:16 +00:00
d82e0a30b4 fixed vulnerabilities in sysfn 18.11 and 36, now user applications cannot corrupt kernel memory via invalid buffer address
git-svn-id: svn://kolibrios.org@8598 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-02-21 09:59:47 +00:00
c39db73416 taskman.inc: fixed two vulnerabilities which caused kernel memory corruption on attempt to run apps with illegal addresses in MENUET0x header
git-svn-id: svn://kolibrios.org@8593 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-02-14 13:21:22 +00:00
1351c15bd0 taskman.inc: add comments for unobvious things, no code changes
git-svn-id: svn://kolibrios.org@8592 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-02-13 23:42:08 +00:00
d893a4981a fix bug in sysfn48 (by Kenshin)
git-svn-id: svn://kolibrios.org@8552 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-01-26 10:31:02 +00:00
Coldy
44a5c1b211 Fixed 69.4. Bug, call with PID=2 stops the system process thereby freezing the entire system!
git-svn-id: svn://kolibrios.org@8534 a494cfbc-eb01-0410-851d-a64ba20cac60
2021-01-12 10:13:20 +00:00
906e6d8dce is_region_userspace: removed extra condition which caused incorrect behavior of boxlib menu in hexedit and rtfread (cuz it uses address 0 i didnt know:D )
git-svn-id: svn://kolibrios.org@8493 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-29 13:45:08 +00:00
7b4bf97ec8 is_region_userspace: refactoring and fix
git-svn-id: svn://kolibrios.org@8329 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-05 19:56:25 +00:00
Kirill Lipatov (Leency)
4563cb18a7 Move VMODE to ISO (as it is useless without drivers that are on ISO)
git-svn-id: svn://kolibrios.org@8285 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-01 01:03:36 +00:00
295aa0ad77 uefi4kos: Fix boot and mouse pointer on some configurations.
UEFI firmware doesn't use VESA mode codes, so disable this check
for UEFI boot.

git-svn-id: svn://kolibrios.org@8284 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-30 17:19:17 +00:00
673259b909 kernel: Protect OS threads from terminating by sf18.2.
git-svn-id: svn://kolibrios.org@8270 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-28 12:57:10 +00:00
af4695e15c fix return value from .addr_error in sysfn 26.2 , 9
git-svn-id: svn://kolibrios.org@8249 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-24 14:20:23 +00:00
2a0073bdfb fix prior
git-svn-id: svn://kolibrios.org@8248 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-24 13:27:11 +00:00
4e919c4eb5 SysFn 18.13 security fix: now apps cannot destroy kernel memory via passing illegal address in ecx
Update docs on SysFn 18.13

git-svn-id: svn://kolibrios.org@8247 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-24 12:49:42 +00:00
5d4528238c SysFn 9 security fix: now apps cannot destroy kernel memory via passing illegal address in ebx
Update docs on SysFn 9

git-svn-id: svn://kolibrios.org@8246 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-23 18:52:56 +00:00
1d8ab97178 Fix hardcoded $Revision: XXXX$ values.
git-svn-id: svn://kolibrios.org@8224 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-20 03:45:41 +00:00
6a975ff76a uefi4kos: Fix memmap conversion from uefi to e820 format.
git-svn-id: svn://kolibrios.org@8220 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-18 19:34:59 +00:00
fe0d0438ff Use e820entry macro instead of hardcoded values.
git-svn-id: svn://kolibrios.org@8217 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-17 21:47:10 +00:00
efa84a263d fix is_region_userspace (worked incorrectly for e.g 0xFFFFFFFF)
git-svn-id: svn://kolibrios.org@8216 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-17 20:00:28 +00:00
98c3ca18d2 uefi4kos: Fix memmap_block_cnt and 32->64 bit sign extension in arithmetics.
git-svn-id: svn://kolibrios.org@8206 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-17 02:32:21 +00:00
c2b9713bb9 Fix r8139: delay_ms was 10x slower when using HPET.
git-svn-id: svn://kolibrios.org@8176 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-11 22:28:04 +00:00
5b65357242 extended_primary_loader: Fix handling of 'resolution' option.
git-svn-id: svn://kolibrios.org@8175 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-11 22:27:30 +00:00
c8f42bc3d1 update docs on sysfn 26.2
git-svn-id: svn://kolibrios.org@8161 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-07 16:53:46 +00:00
9508cfa2b7 added is_region_userspace, fix sysfn 26.2 address security checks
git-svn-id: svn://kolibrios.org@8160 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-07 16:42:34 +00:00
160a8c789a SysFn 26.2 security fix: now apps cannot destroy kernel memory via passing illegal address to this sysfn
git-svn-id: svn://kolibrios.org@8158 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-06 23:15:44 +00:00
2004300949 Add basic 32-bit UEFI loader.
git-svn-id: svn://kolibrios.org@8150 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-06 17:52:10 +00:00
dd55ceaa16 kernel: Make delay_ms use HPET when available.
I got a laptop that has timer on channel 1 of PIT that doesn't tick.

git-svn-id: svn://kolibrios.org@8139 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-05 19:53:54 +00:00
60b5d5b532 Add missing svn:keywords properties.
git-svn-id: svn://kolibrios.org@8130 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-11-03 16:03:39 +00:00
609e822a2b Fix r8111 for APIC mode: Don't skip LAPIC initialization if already mapped.
git-svn-id: svn://kolibrios.org@8120 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-28 18:08:08 +00:00
1919b8efdc fix r8111: Map acpi_apic_base page before access.
git-svn-id: svn://kolibrios.org@8119 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-27 19:32:57 +00:00
8e5b79b154 kernel: Don't read acpi_dev_* vars that if uninitialized.
Currently only uefi4kos loader initializes these variables. May be one
day BIOS loaders will load DEVICES.DAT file and initialize these vars
too, may be one day we will detect APIC IRQs via ACPI. But not today.

git-svn-id: svn://kolibrios.org@8117 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-26 04:29:48 +00:00
5f677e4407 Remove unused macro and fix a comment.
git-svn-id: svn://kolibrios.org@8115 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-21 19:58:55 +00:00
a9121a0da9 kernel: Split acpi.inc and hpet.inc from init.inc.
Also, replace some hardcoded constants with macros.

git-svn-id: svn://kolibrios.org@8111 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-21 14:23:51 +00:00
20c622fb38 Don't put .dummy_fn function of net loopback device to data 'section'.
git-svn-id: svn://kolibrios.org@8103 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-16 18:36:30 +00:00
aaf1ac4439 Assert sizeof.APPDATA=256, use it instead of hardcoded 256 value.
git-svn-id: svn://kolibrios.org@8093 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-12 02:54:44 +00:00
ab9b1ebb4a uefi4kos: Read config and kernel files from the disk.
* Now there is a config file with boot options, example included.
* Config, kernel and ramdisk are loaded from the disk, not compiled in.
* DEVICES.DAT file is also optionally loaded from the disk.
* Also, move the loader to /kernel/trunk/bootloader/uefi4kos.

git-svn-id: svn://kolibrios.org@8092 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-06 03:32:57 +00:00
f5e0f96e84 Add extended_primary_loader to autobuild.
* Build fat1x, fat32, cdfs, after_win loaders.
* Set use_lba=1 by default in fat32 loader.
* Build kolibri.raw: flash / hdd image.
* Add example config.ini file.
* Add an option (config file and screen) to not load ramdisk image.
* Add an option (config file only) to set /sys path.

Now you can boot without a ramdisk from a storage that is supported
by the kernel itself, i.e. without loadable drivers. Thus you can not
load the system without a ramdisk from SATA/AHCI and USB drives.

git-svn-id: svn://kolibrios.org@8091 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-04 16:53:59 +00:00
bf38c73d0a kernel: don't use ramdisk if asked.
The blue screen is not aware of this option.

git-svn-id: svn://kolibrios.org@8089 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 13:05:10 +00:00
a2700ea35c Replace some hardcoded /rd/1 paths with /sys.
git-svn-id: svn://kolibrios.org@8088 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 12:33:16 +00:00
5e4de2dfd1 Initialize APPDATA.{fd,bk}_ev fields for kernel threads.
This prevents crash in event.inc:RemoveEventTo because of
zero pointer dereference.

git-svn-id: svn://kolibrios.org@8087 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 12:30:11 +00:00
d48c9cc35c Fix random boot issue: 'Failed to start first app'
Access to BOOT.dev variable was sometimes done with obsolete
offset from non-flat-kernel ages. If you are unlucky, the ramdisk
is not loaded and launcher app is not started.

git-svn-id: svn://kolibrios.org@8086 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 12:26:08 +00:00
73d12d1c99 Edit memmap to increase space for the kernel.
Move TMP_STACK_TOP and sys_proc higher.
Add a static assert to save some time in the future.

git-svn-id: svn://kolibrios.org@8085 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-10-02 12:23:04 +00:00
cdcaf70ae3 kernel: make ramdisk_init return pointer to disk structure.
git-svn-id: svn://kolibrios.org@8064 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-09-18 12:46:25 +00:00