NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/58225 - netbsd9/amd64 requires COMPAT_16 for 32bit support (fwd)



The following reply was made to PR kern/58225; it has been noted by GNATS.

From: Jason Thorpe <thorpej%me.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: pgoyette%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost,
 netbsd-bugs%netbsd.org@localhost,
 mlelstv%netbsd.org@localhost
Subject: Re: kern/58225 - netbsd9/amd64 requires COMPAT_16 for 32bit support
 (fwd)
Date: Sat, 24 Aug 2024 06:39:54 -0700

 > =46rom what I can see (*) you've handled the (COMPAT_NETBSD32 & =
 COMPAT_16)
 > situation, but at the expense of mishandling (COMPAT_NETBSD32 & ! =
 COMPAT_16)=20
 > situation.  You really should not be auto-loading a module
 > that isn't desired.  As you can see, that brings in a whole lot of =
 other
 > cruft for COMPAT_* and COMPAT_NETBSD323_*.
 >=20
 > What happens if we simply don't autoload compat_netbsd32_16 module?  =
 If
 > it is loaded through other means (modload(8) maybe) then we get the
 > behaviour that you already implemented; if the module isn't loaded, we
 > should reurn EINVAL.
 
 Note the only reason I made the changes in the first place is because =
 COMPAT_NETBSD32 signal delivery was already a complicated broken mess =
 (and the changes addressed a reported bug).  Sure, more modules might =
 get loaded now, but at least signal delivery works.
 
 TBH, I don=E2=80=99t get what the big deal is here.  The NETBSD32 =
 version is doing basically what the non-NETBSD32 version is doing: that =
 is, if the process says is uses the old =E2=80=9Csigcontext=E2=80=9D =
 type of trampoline, it auto-loads the compat_16 module.  And it=E2=80=99s =
 been doing that ever since 2019 when *you* made that change.
 
 -- thorpej
 


Home | Main Index | Thread Index | Old Index