lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d66103380179771d0655288a4d0d95e990876132.camel@sipsolutions.net>
Date: Wed, 28 Aug 2024 14:58:43 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Maciej Żenczykowski <maze@...gle.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Richard
 Weinberger <richard@....at>, Anton Ivanov
 <anton.ivanov@...bridgegreys.com>,  linux-um@...ts.infradead.org,
 x86@...nel.org
Subject: Re: [PATCH] um: make personality(PER_LINUX32) work on x86_64

On Mon, 2024-08-19 at 11:46 -0700, Maciej Żenczykowski wrote:
> On Mon, Aug 19, 2024 at 5:23 AM Johannes Berg <johannes@...solutions.net> wrote:
> > 
> > On Tue, 2024-08-13 at 16:47 -0700, Maciej Żenczykowski wrote:
> > > Without this patch:
> > >   #!/usr/bin/python3
> > >   import ctypes
> > >   import os
> > >   personality = ctypes.CDLL(None).personality
> > >   personality.restype = ctypes.c_int
> > >   personality.argtypes = [ctypes.c_ulong]
> > >   PER_LINUX32=8
> > >   personality(PER_LINUX32)
> > >   print(os.uname().machine)
> > > returns:
> > >   x86_64
> > > instead of the desired:
> > >   i686
> > > 
> > 
> > But ... why should it work? UML has no 32-bit compat support anyway.
> 
> Well, that's certainly a fair point.
> On 'native' x86_64 this works even for 64-bit processes though.
> I wonder if that, in itself, is a feature or a bug...
> 
> In my case I was writing some debug code (to print the environment
> some test code is running in, since I think it was failing due to
> running 32-bit code in PER_LINUX32 on 64-bit arm) and testing (the
> test code) on x86_64 UML.  I was surprised to discover the difference
> in UML vs my host desktop.
> 

Alright, I have no idea. This doesn't really seem to do anything else,
so I'm not sure what the point is... It _was_ introduced for compat
though, but obviously the binary doesn't suddenly change to a 32-bit
binary when you do this :)

Maybe the x86 maintainers have any other comments?

johannes

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ