Originally posted by partcyborg
View Post
Announcement
Collapse
No announcement yet.
Linux Patches Posted That Would Allow Boot-Time Disabling Of x86 32-bit Processes
Collapse
X
-
Originally posted by PluMGMK View PostSo wait a sec… Disabling 32-bit syscalls is a separate change from disallowing 32-bit code segments? So what happens if someone loads a 32-bit process successfully but syscalls are unavailable? :/
You can run code without syscalls though, and switch modes inside of the process.
Comment
-
Originally posted by lowflyer View PostI fail to see how disallowing 32-bit syscalls to the 64-bit system reduces the attack surface. It's just another one of these checkbox approaches: "Yeah, we've done something, check!"
Heck, if I can ever find time to write my planned self-hosted alternative to Disqus (the existing Go-based one doesn't meet my needs), I intend to migrate my blog from the copy of WordPress I've been upgrading since 2005 to a static site generator, because code that doesn't exist won't waste my time constantly needing patches installed.Last edited by ssokolow; 08 June 2023, 02:38 PM.
- Likes 1
Comment
-
Originally posted by caligula View Post
You probably mean x86. x32 is a special abi. Clueless Windows users typically think x32 must be the name of the old stuff because x64 exists.
Comment
-
-
Originally posted by loganj View Postok. but what about x32 libs i keep seeing some programs still using? are those programs x64bits using x32libs?
Just something to be aware of Linux world has two 32 bit addressing on x86 . x32 and x64 are both 64 bit extended x86 instructions. Your normal distribution 32-bit linux is 32 bit x86 instructions. The x is the word extended. x86 is extended 86 as in extended 8086. x32 is extended 32 and x64 is extended 64.
On linux
1) i386/x86 is normally used to market packages that are 32 bit instruction with 32 bit addressing.
2) x32 is used 64 bit instructions with 32 bit addressing.
3) X64 is used for 64 bit instructions with 64 bit addressing.
Linux kernel can be built with all 3 enabled as syscalls to be provided.
x32 is not that popular. Reason for 64 bit instructions with 32 bit addressing was to get the performance advantage of 64 bit addressing and avoid the memory cost of long pointers in structures this turned out to be a very minor amount of difference.
What makes i386/x86 +x32+x64 horrible is they don't share libraries with each other. So you want to run today the following- 1 x32 application you need all the libraries it will be using in x32.
- 1 x64 application you need all the libraries it will be using in x64
- 1 i386/x86 application you need all the libraries it will be using in i386/x86.
Winehq project with hangover work shows that bridges between are in fact possible. Wine has a bridge from 16 to 32 bit and will have bridge from 32 to 64 bit once all the required alterations are done.
Disable 32 bit syscalls in kernel might give the push to make 32 to 64 bit bridge so that 32 bit application can use 64 bit libraries so reducing amount of runtime system needs..
- Likes 4
Comment
-
Originally posted by stompcrash View PostThere is plenty of legacy software which will never be recompiled for 64-bit architectures. What will we do if this becomes the default? Run them through a 32-bit emulator? Probably this won't be the default for end-user desktops. Workstations and servers would be fine.
Comment
-
Originally posted by oiaohm View Post
Just something to be aware of Linux world has two 32 bit addressing on x86 . x32 and x64 are both 64 bit extended x86 instructions. Your normal distribution 32-bit linux is 32 bit x86 instructions. The x is the word extended. x86 is extended 86 as in extended 8086. x32 is extended 32 and x64 is extended 64.
- Likes 1
Comment
Comment