frkzoid has quit [Read error: Connection reset by peer]
frkazoid333 has joined #osdev
AtleoS has quit [Ping timeout: 252 seconds]
simjnd has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
simjnd has quit [Ping timeout: 248 seconds]
karenw has joined #osdev
marr-ales-fios has joined #osdev
eluks has quit [Remote host closed the connection]
osmten has joined #osdev
eluks has joined #osdev
simjnd has joined #osdev
simjnd has quit [Ping timeout: 260 seconds]
marr-ales-fios has quit [Quit: Konversation terminated!]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
bauen1 has quit [Ping timeout: 248 seconds]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
marr-ales-fios has joined #osdev
simjnd has joined #osdev
\Test_User has quit [Quit: \Test_User]
simjnd has quit [Remote host closed the connection]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 260 seconds]
\Test_User has joined #osdev
Lucretia has joined #osdev
simjnd has joined #osdev
karenw has quit [Quit: Deep into that darkness peering...]
karenw has joined #osdev
simjnd has quit [Ping timeout: 268 seconds]
<kof673>
so...budget stack overflow protection does "work", but really, you need custom libc/etc. to call a function at the start of every function and before returning https://0x0.st/s/V-mRv0bYmb4D4jbXt7VOCQ/8veS.c ( fragment included at beginning of main(), just uses the address of temp_ret, a local variable, calculates the stack limit as offset from that, a define has the size of the "stack limit")
<kof673>
"when its good its good, when its bad, its still better than nothing" j/k
simjnd has joined #osdev
<kof673>
in order to check the limit, it of course...also just takes the address of a local variable inside the "logger" function lol
<kof673>
it doesn't actually stop overflow, just bails if seen lol
simjnd has quit [Ping timeout: 272 seconds]
<kof673>
you would want extra slack space as large as ...however much stack your function-using-the-most-stack uses before it calls the "logger function"
simjnd has joined #osdev
bauen1 has joined #osdev
simjnd has quit [Ping timeout: 248 seconds]
jcea has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
simjnd has joined #osdev
Lucretia has quit [Ping timeout: 245 seconds]
Lucretia has joined #osdev
antranigv_ has quit [Ping timeout: 244 seconds]
xvmt has quit [Ping timeout: 265 seconds]
antranigv has joined #osdev
jcea has quit [Ping timeout: 276 seconds]
xvmt has joined #osdev
osmten has quit [Quit: Client closed]
Lucretia-backup has joined #osdev
Lucretia has quit [Ping timeout: 276 seconds]
GeDaMo has joined #osdev
simjnd has quit [Ping timeout: 260 seconds]
simjnd has joined #osdev
goliath has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
sortiecat has joined #osdev
simjnd has joined #osdev
Lucretia-backup is now known as Lucretia
simjnd has quit [Ping timeout: 260 seconds]
simjnd has joined #osdev
ZipCPU_ has joined #osdev
ZipCPU has quit [Ping timeout: 244 seconds]
ZipCPU_ is now known as ZipCPU
sortiecat has quit [Remote host closed the connection]
sortiecat has joined #osdev
agent314 has quit [K-Lined]
sortiecat has quit [Quit: Leaving]
<Ermine>
> CONFIG_HID_SIGMAMICRO
<Ermine>
This kernal feels so sigma
xvmt has quit [Ping timeout: 252 seconds]
edr has joined #osdev
xvmt has joined #osdev
simjnd has quit [Ping timeout: 252 seconds]
karenw has quit [Ping timeout: 245 seconds]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 245 seconds]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Client Quit]
marr-ales-fios has joined #osdev
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #osdev
marr-ales-fios has quit [Remote host closed the connection]
simjnd has joined #osdev
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
MelMalik has quit [Quit: Bye Open Projects!]
Left_Turn has joined #osdev
sbalmos has quit [Quit: WeeChat 4.6.1]
sbalmos has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 248 seconds]
simjnd has quit [Ping timeout: 248 seconds]
simjnd has joined #osdev
monkeyPlus has joined #osdev
tigerbrother has quit [Quit: Ping timeout (120 seconds)]
tigerbrother has joined #osdev
Left_Turn has joined #osdev
guideX has quit [Ping timeout: 252 seconds]
Turn_Left has quit [Ping timeout: 276 seconds]
simjnd has quit [Ping timeout: 252 seconds]
simjnd has joined #osdev
simjnd has quit [Ping timeout: 276 seconds]
simjnd has joined #osdev
monkeyPlus has quit [Remote host closed the connection]
simjnd has quit [Ping timeout: 272 seconds]
<Ermine>
fwiw fedora's kernal has CONFIG_UBSAN=y
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 248 seconds]
<heat>
Ermine: yes
<heat>
it's a minimal version of UBSAN
<heat>
basically bounds checking IIRC
<heat>
it will Soon(tm) be on the x86 defconfig too
<Ermine>
yea ubuntu has it too
<heat>
android too
simjnd has joined #osdev
<heat>
Ermine: can you zgrep UBSAN /proc/config.gz and post the snippet?
<heat>
i'm surprised CONFIG_UBSAN_TRAP is not set though
goliath has quit [Quit: SIGSEGV]
<nikolar>
What does it do without trap
<zid`>
sounds better
<heat>
without trap it shells out to the usual callbacks, with debug data and debug strings and stuff
<heat>
with trap it just ud2's
simjnd has joined #osdev
ZipCPU has quit [Ping timeout: 252 seconds]
ZipCPU has joined #osdev
simjnd has quit [Ping timeout: 248 seconds]
simjnd has joined #osdev
goliath has joined #osdev
<Ermine>
that was a many hours run of make oldconfig...
_nater_ has joined #osdev
<nikolar>
does a ud2 in the kernel cause a panic lol
<zid`>
ud2 is just an exception anyway yea
<zid`>
turn your null pointer #PF into a #UD
jcea has quit [Remote host closed the connection]
jcea has joined #osdev
<heat>
nikolar: nope, just a BUG
<nikolar>
Ah interesting
<heat>
whether that is transformed into a panic depends on your config
<heat>
uhh, not config, a sysctl
guideX has joined #osdev
<heat>
to be clear, BUG by default just force exits the current task
<heat>
which is cute
guideX has quit [Read error: Connection reset by peer]
guideX has joined #osdev
xvmt has quit [Ping timeout: 248 seconds]
GeDaMo has quit [Ping timeout: 248 seconds]
leon has quit [Ping timeout: 272 seconds]
m3a has quit [Ping timeout: 252 seconds]
xvmt has joined #osdev
leon has joined #osdev
m3a has joined #osdev
getz has quit [Read error: Connection reset by peer]
GeDaMo has joined #osdev
getz has joined #osdev
sidcha has quit [Ping timeout: 272 seconds]
citrons has quit [Ping timeout: 252 seconds]
sidcha has joined #osdev
simjnd has quit [Ping timeout: 252 seconds]
FreeFull has quit [Ping timeout: 248 seconds]
FreeFull has joined #osdev
goliath has quit [Quit: SIGSEGV]
citrons has joined #osdev
remexre has quit [Remote host closed the connection]
simjnd has joined #osdev
alpha2023 has quit [Ping timeout: 260 seconds]
simjnd has quit [Ping timeout: 252 seconds]
alpha2023 has joined #osdev
<nikolar>
cute indeed
goliath has joined #osdev
k0valski18891621 has joined #osdev
ZipCPU has quit [Ping timeout: 260 seconds]
ZipCPU has joined #osdev
simjnd has joined #osdev
gog has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
karenw has joined #osdev
MelMalik has joined #osdev
<kof673>
https://0x0.st/s/6p8NtPIYy3qN49b3pEQJwA/8vVr.c someday, see if i can task switch based on the time lol lots of overhead, but seemingly does not need interrupts nor a timer lol would need to set up a real stack per "process" though
<kof673>
tick tick tick TOCK (taskswitch)
<kof673>
just have to...manually call that however often lol
<kof673>
i want to see what happens if you just try to poll instead of interrupts too lol
<kof673>
worst case, is there is only c89 time() so 1 second granularity :/
<kof673>
you even simulate a "clock" if there is not one, so long as the time increases monotonically lol
_whitelogger has joined #osdev
<kof673>
with per-process lengths, could be like this process can run up to 1000 milliseconds before force switch, another process 500 milliseconds, etc. (i will just make it multiples-of-a-timeslice-length, so there is a base unit) "priorities" but it is all on the honor system that they call tick() between normal work since i call a function at the start of every function, that basically just means add a call to tick() inside loops lol