klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
goliath has quit [Quit: SIGSEGV]
LittleFox has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
masoudd has joined #osdev
LittleFox has joined #osdev
Matt|home has quit [Quit: Science is how we better ourselves.]
Vercas9 has joined #osdev
raphaelsc has quit [Remote host closed the connection]
masoudd has quit [Ping timeout: 245 seconds]
eddof13 has joined #osdev
the_oz has quit [Remote host closed the connection]
X-Scale has joined #osdev
the_oz has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
eddof13 has quit [Quit: eddof13]
gog has quit [Ping timeout: 252 seconds]
coolcoder613 has quit [Ping timeout: 252 seconds]
Matt|home has joined #osdev
bradd has quit [Remote host closed the connection]
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
randm has quit [Remote host closed the connection]
randm has joined #osdev
Gooberpatrol_66 has quit [Remote host closed the connection]
Gooberpatrol66 has joined #osdev
memset has quit [Remote host closed the connection]
memset has joined #osdev
qubasa has quit [Ping timeout: 248 seconds]
qubasa has joined #osdev
X-Scale has quit [Quit: Client closed]
edr has quit [Quit: Leaving]
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
bradd has joined #osdev
bradd has quit [Remote host closed the connection]
bradd has joined #osdev
Matt|home has quit [Quit: Science is how we better ourselves.]
Matt|home has joined #osdev
xal has quit [Quit: bye]
xal has joined #osdev
vdamewood has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
heat has joined #osdev
khraosgenetor has joined #osdev
<khraosgenetor> hello there
<Mondenkind> no
khraosgenetor has quit [Quit: Client closed]
Arthuria has quit [Ping timeout: 272 seconds]
khraosgenetor has joined #osdev
<khraosgenetor> hello
khraosgenetor has quit [Remote host closed the connection]
netbsduser has joined #osdev
nitrix has quit [Quit: ZNC 1.8.2 - https://znc.in]
nitrix has joined #osdev
thelounge030 has joined #osdev
thelounge030 is now known as agent314
vdamewood has quit [Quit: Life beckons]
eck has quit [Quit: PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)]
eck has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
HeTo has quit [Ping timeout: 252 seconds]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
mubluekoor has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.3.5]
ThinkT510 has joined #osdev
agent314 has quit [Quit: The Lounge - https://thelounge.chat]
Affliction has quit [Quit: Read error: Connection reset by beer]
Affliction has joined #osdev
scaleww has joined #osdev
GeDaMo has joined #osdev
junon has joined #osdev
<junon> did QEMU change how `log int` works in recent versions? It used to output all the registers and the error codes, etc. and now it just tells me the exception number without anything. The docs say "output in short format" but there doesn't seem to be a way to get a 'long format' from it.
Left_Turn has joined #osdev
mavhq has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
flom84 has joined #osdev
flom84 has quit [Client Quit]
coolcoder613 has joined #osdev
gog has joined #osdev
masoudd has joined #osdev
flom84 has joined #osdev
Left_Turn has quit [Ping timeout: 245 seconds]
Left_Turn has joined #osdev
flom84 has quit [Ping timeout: 255 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
mavhq has joined #osdev
dza has quit [Quit: Ping timeout (120 seconds)]
dza has joined #osdev
obrien has joined #osdev
obrien has quit [Remote host closed the connection]
goliath has joined #osdev
scaleww has quit [Quit: Leaving]
<nikolar> KERNAL
Arthuria has joined #osdev
someguy has joined #osdev
theyneversleep has joined #osdev
Arthuria has quit [Ping timeout: 276 seconds]
Arthuria has joined #osdev
Arthuria has quit [Read error: Connection reset by peer]
Arthuria has joined #osdev
someguy has quit [Read error: Connection reset by peer]
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
Arthuria has quit [Read error: Connection reset by peer]
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
Arthuria has quit [Ping timeout: 252 seconds]
heat_ is now known as heat
<heat> kernal
<nikolar> Indeed
masoudd has quit [Ping timeout: 260 seconds]
the_oz has quit [Quit: Leaving]
the_oz has joined #osdev
xvmt has quit [Remote host closed the connection]
the_oz has quit [Client Quit]
the_oz has joined #osdev
Maja has quit [Remote host closed the connection]
xvmt has joined #osdev
Maja has joined #osdev
someguy has joined #osdev
<Ermine> krnl
the_oz has quit [Quit: Leaving]
the_oz has joined #osdev
xenos1984 has quit [Ping timeout: 272 seconds]
xenos1984 has joined #osdev
remexre has quit [Ping timeout: 246 seconds]
xenos1984 has quit [Ping timeout: 248 seconds]
remexre has joined #osdev
xenos1984 has joined #osdev
vdamewood has joined #osdev
<geist> yawn
<geist> good morning folks
<gog> meowdy
* vdamewood gives gog a fishy.
* gog chomp fishy
<vdamewood> And real life pulls me away from IRC. *grumble*
vdamewood has quit [Quit: Life beckons]
remexre has quit [Ping timeout: 248 seconds]
remexre has joined #osdev
netbsduser has joined #osdev
* Ermine gives gog a piece of cheese
remexre has quit [Ping timeout: 248 seconds]
masoudd has joined #osdev
eddof13 has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<heat> i tried bindgen on one of my headers
<heat> pretty impressive, seems to work well
hwpplayer1 has joined #osdev
theyneversleep has quit [Remote host closed the connection]
<nikolar> So you're doing rust now
<heat> no, i was reading about bindgen and tried it out
eddof13 has quit [Quit: eddof13]
<heat> and surprisingly it seems to work. it's a little scary how much of the base header set is brought in by one header though :)
<heat> fwiw they say OH YOU ALMOST 100% NEED TO ALLOWLIST BECAUSE C++ IS HARD but my C++ is so simple that it Just Works
mubluekoor has quit [Quit: mubluekoor]
<nikolar> Lol sure
mubluekoor has joined #osdev
<heat> every time i look at linux kernel rust i get super fucking scared though
<heat> they're doing camelcase type names :(
<heat> clearly all of those people need a dose of reality but no one doing productive work is willing to do it
<nikolar> Kek
<nikolar> Camel case though, ew
masoudd has quit [Ping timeout: 248 seconds]
netbsduser has quit [Ping timeout: 255 seconds]
<mjg> what's bindgen
<mjg> some c++ damage control?
<gog> not much what's bindgen with you
<mjg> oh i walked into it :(
<heat> bindgen is rust's automagical bindings generator
<mjg> shieet
<mjg> you gotta love when merely booting the linux kernel produces a splat
<mjg> in their defense it is a dev version, but even that's kek
<mjg> liek at least get to multiuser before things error out
<mjg> heat: oy remember that fuck from intel who wanted to speed up by few ms with questionable kmem cache changes
<mjg> for $reasons i just had a look at dmesg and it's nothing but loller
<mjg> fucken' raid6 benchmarking avx
<mjg> i don't even use raid6
<heat> i don't actually
<Ermine> does linux even have a distinction between single- and multiuser in kernel
<heat> no
<heat> UNIX kernels in general barely understand what a user even is
<mjg> 8(
<mjg> a user is a pest with non-0 uid
<mjg> next questoin
<Ermine> oh, so i understand this correctly
<Ermine> (elegant part of unix imo)
<heat> it's aight but you end up having per-user state anyway
<heat> for per-user limits and quotas and shizzle
<Ermine> in-kernel those are in terms of uids, and everything else is left to userspace
FreeFull has quit []
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
<geist> classic unices, ora t least BSD, had the whole boot into single user mode, which really isnt much more than just start a shell for root
<geist> but it also has the whole kernel permissino level thing
<geist> and i forget precisely what it controls, but you start at 0 with more permissions, and raise it to 1 or 2
<geist> i think the BSDs still have that
<mjg> it's still there
<mjg> but numerous features and bugs got added which defeat the supposed protection
<geist> it's one of those things that gets raised during boot and cant be lowered
<mjg> "securelevel"
<mjg> for example some level prevents loading kernel modules 'n shit
<mjg> so you may think the kernel is locked down
<geist> ah yeah and things like writing to raw devices
<mjg> but i found some dumbfuck problems allow you to LOWER the securelevel
<geist> oh? that seems surprising. how so?
<mjg> there is carelessly written root-only code
<mjg> still accessible at higher secfurelevels
<geist> buty i thought the kernel only allows raising it
<mjg> there is an arbitrary write of 4 bytes in there
<mjg> so you do some massaging and overwrite securelevel back to -1
<geist> ah, but that's a bug, if you have that none of it mattesr
<geist> but that's not the same thing as having it
<mjg> 23:50 < mjg> but numerous features and bugs got added which defeat the supposed protection
<geist> okay. but pouint is you cant lower the securelevel unless there's a bug
netbsduser has joined #osdev
<mjg> one can make an argument that the core idea is sound
<heat> make it ro after locking it down
<mjg> my point is that the thing is still very permissible to root
<geist> right thats my point, because as soon as you have a bug almost everything goes out the window, but that doesn't mean you shouldn't design the feature
<heat> you DUMBASSES
<geist> oh speaking of patch your windows box!
<mjg> and the shit which should not be accessible still is
* geist sends a specially crafted ipv6 packet to you
<mjg> oh?
<mjg> a remote dos?
<heat> ipv6 bug found for like every windows
* mjg is ootl
<mjg> well it's a good thing ipv6 did not take off :d
<geist> oh it's a good one. it's a CVE that basically has a buffer overrun (presumably) in the windows kernel *before* any firewall rules
<geist> just raw ipv6 packet processing
<mjg> :d
<geist> yah but it's on by default, so you can presumably send something on a local netowkr using fe80::
<mjg> lol that's a RCE?
<heat> do you know the classic UAF exploitation method in linux?
<heat> you get the UAF and then just wait for the slab page to be reused as a page table :v
<mjg> geist: you mean from a js in the browser?
<geist> CVE-2024-38063
<mjg> lol so apparently the firewall does not help either
<geist> unclear precisely how it works, but since it says it's pre-firewall filtering, rpesumably it's in the kernel at the low level packet processing
<mjg> cause the bug is prior to that
<geist> yah
<mjg> lmao
<geist> and even if you dont have an ipv6 internet connection it still has local v6 for your lan, so you could presumably still use that
<geist> thoughi dunno if it is like 'you send exactly one malformed packet' or if it's some careful sequence where you get a socket open or something
<geist> or it's a storm of packets that eventually triggers an integer wrap or something
<mjg> well if you can just have malicious js generate appropriate traffic you are turbo fucked as is
<zid> it says overflow, and it says cve
<zid> so it's very mystery
<zid> err rce*
<zid> maybe you can fill up some arp table or something
<geist> yah prsumably the details are not to be spread
<geist> one of the summaries says you can get access to the logged in user, which is odd if it's a truly kernel sploit
<zid> I ran the .msu to do the patch but I haven't rebooted yet to actually apply it, let's race, powercut vs getting hacked
<geist> unless there's some amount of user side processing of the net stack, or it's not in the core stack, but some service that's sitting on the side looking at every packet that it sploits
<zid> or maybe it's like, arp poisoning, and that defeats some other security mech, which is what they leveraged
<geist> yah
* mjg is waiting for blaster 2.0
<geist> though v6 doesn't do arp per se, iirc, but it has something kinda similar (and more complicated, thus maybe easier to sploit)
<zid> like, making gethostbyname() then explode, might be a thing
* geist nods
<zid> so the first user program to do that, pops them a shell
<mjg> there will be people claiming this is yet another argument to nto deploy ipv6
<geist> i was a bit more alarmed than most since i actually do haev real ipv6 here at my house
<heat> v6 does ndp
<geist> FWIW looking at my router stats it gets a pretty solid 50% of traffic over v6
<heat> i'm gonna say it:
<zid> yea I am globally routed ipv6
<heat> this wouldn't happen in RUST
<zid> I only have it turned on for irc though
* geist smacks heat about
<zid> it's actually off in my browser, because it tends to be unreliableish
<mjg> i fully expect it to happen in a real rust network stack
<mjg> because i expect it to use unsafe { }
<zid> ipv4 I am natted so actually way more secure
<zid> ipv6 everything is just hanging out there
<geist> can test it out on the fuchsia net stack! (written in rust)
<heat> isn't it written in go? the real used stack that is
<geist> that's net stack 2, it got rewritten, net stack 3
<mjg> net stack in go?
<geist> we switched to it pretty much fully in the last year or so
<mjg> wtf?
<geist> ns2 was derived from an existing net stack in go as part of oh what was that project
<geist> been around for a while
<heat> gvisor
someguy has quit [Ping timeout: 255 seconds]
<geist> yah gvisor, which is also written in go
<heat> RIIG
<geist> iirc it's pretty performant and decent, *but* it's tuned for server style stuff
<geist> and really doesn't scale 'down' very well
<geist> but i really dont know much more than that
<heat> arent the GC pauses a killer?
<geist> no idea, honestly
<geist> i'd think so, but lots of big stuff is written in go, so must be reasonable solutions for that
<geist> maybe it's fairly easy to write go code that doesn't result in a lot of garbage
<geist> (or hard, and hard to work with that code in the long run)
<mjg> there is tons of stuff in node.js people put up with for years
<mjg> until one day it got rust'ed
<mjg> just sayin'
<geist> yep
<mjg> just because someone is using it, does not mean it performs in anything close to a reasonable standard
<nortti> aiui go garbage collector optimizes for minimum pauses at the cost of throughput
<mjg> that is pragmatic
<mjg> lower tail end latency is the default goal
<geist> i think early on we wrote a lot of fuchsia in go, but it quickly turned out to not be a great idea if you want to run on < server
<mjg> :)
<geist> or really writing large system services in GCed languages is a generally Bad Idea
<geist> in any sort of resource constrained system
<geist> though of course you can do it, and maybe it works okay if it's generally One Big Service
<heat> nah bro im oracle pilled im rewriting onyx for sparc with java
<geist> but as soon as you have a pile of them all GCing at different times it gets really hard to grok the memory usage globally
<geist> spppppaaarc
<gog> sparc sparc sparc sparc
<mjg> GC is a known loller
<mjg> so much time was spent trying to damage control the beast
<bslsk05> ​IRCCloud pastebin | Raw link: https://irccloud.com/pastebin/raw/m1oULK4c
<gog> gimme da gorbage
<mjg> rust or an equivalent would have been invented much earlier if people decied to dodge the idea
netbsduser has quit [Ping timeout: 252 seconds]
<mjg> geist: :O
<heat> dude netbsd really?
<heat> grab solaris mon
<mjg> if you keep flexin' you gone have to start handing out shell accounts on these
<geist> i ran solaris on it for a while, but actually netbsd 10 is pretty good, since it's modern
<geist> and though this machine is slow, it's not *that* slow because it has 512MB ram
<heat> but solaris was ahead of its time
<heat> honestly wouldn't be surprised if older solaris was faster than new netbsd
<mjg> :D
<gog> illumos
<geist> oh it wouldnt
<geist> would
<mjg> you should ask if era appropriate netbsd is faster
<geist> i also have a faster ultrasparc 2 with 2GB ram with netbsd on it too
<geist> and solaris
<geist> like dual 300mhz ultrasparcs
<heat> call me when you get a sparc64
<mjg> :O
<geist> that is a sparc64
<heat> OH SHIT WHAT
<heat> ok call me
<geist> i dont have it plugged in right now
<mjg> geist: did you manage to get that itaniuM/
<geist> nah i had one years ago and got rid of it
<geist> not really interested in one now
<mjg> :p
<mjg> i thought you were a nerd
<geist> i'd pick one up if someone gave it to me, but not interested in paying to get one shipped or so
<mjg> if heat finds out you passed up on itanium he may be disappointed
guideX has quit [Read error: Connection reset by peer]
<mjg> not that *I* would tell him
<geist> one of the problems is AFAIK pretty much all itanium machines are pretty big and clunky
<geist> either it's a server or it's one of those bigass workstation things
<geist> i had one of the early HP i2000s before, and it was huge
<mjg> tbf if i was collecting vaxen, sparcs 'n shit
<mjg> i would definitely want to add itanium
<mjg> you went to paris and intentionally never looked at the eiffel tower
<geist> but yeah i had one early on in the mid 2000s, but i got tired of hauling it around
<heat> mjg, thank you for reminding me of your MURDER
<mjg> you got an amateur setup anyway until you add E10k
<heat> you assassinated itanium
<heat> you bastard
<mjg> dude it's a lame meme, like for real
<heat> oh sorry let me re-read the list of funny memes
<heat> OPENBSD SOLARIS PESSIMAL
<mjg> if i remove lockref from dcache is that going undo it
<heat> cue the laugh track
<heat> bazinga
<gog> oh my god they killed itanium
<mjg> gog: dawg
<mjg> i know "you bastards"
<mjg> but check this out
<bslsk05> ​lwn.net: Gentoo Linux drops IA-64 (Itanium) support [LWN.net]
<mjg> heat: maybe you could shit on these fucks
<heat> i dont need to shit on gentoo
<heat> gentoo is already shit
<heat> arch though, now THAT is a real distro
<heat> arch will never drop itanium support
* mjg checks arch itanim support
<mjg> because it does not have it?
<heat> exactly. they will never drop it
<heat> checkmate
<gog> lollers
<the_oz> rms_install_gentoo_meme.jpg
<mjg> good guys arch
<mjg> maybe i should install after all
<mjg> on my not-itanium
<gog> i'm gonna buy an itanium
<gog> i'm gonna use it to heat my apartment
Arthuria has joined #osdev
eddof13 has joined #osdev
<the_oz> hp banana drive expanders do that, and hp proliants
<the_oz> they're about the same cost as a heater, and they put out just as much
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Left_Turn has quit [Read error: Connection reset by peer]
Dead_Bush_Sanpai has joined #osdev
coolcoder613 has quit [Read error: Connection reset by peer]
hwpplayer1 has quit [Remote host closed the connection]