NetBSD-Bugs archive

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

Re: kern/53666: tcpdump for i386 does not work with COMPAT_NETBSD32 on amd64



On Mon, 15 Oct 2018, Rin Okuyama wrote:

But YES, for now it would be acceptable to have a #ifdef COMPAT_50
block.  I will extract the conditional code and move it into
compat/netbsd32/netbsd32_compat_50.c and provide an appropriate
linkage/hook.

(Actually, this prompted me to look at the existing code on my
branch, and it seems I've still got some clean-up work to do here
for compat32_50_rnd_ioctl() - the "hook" needs to use the new
MP-safe mechanism to prevent the module code from being unloaded
while the code is executing!)

and sorry for troubling you...

Don't worry about it. This is the risk one takes when working on a branch. I will deal with it.

Hmm, unfortunately, support for BIOC[GS]ORTIMEOUT makes the situation
worse. We have netbsd32_{to,from}_timeval50() in netbsd32_conv.h, and
they convert between netbsd32_timeval50 and timeval, not timeval50!
Apparently, we have too many different kinds of functions that share
the same naming rule :(.

Fix may be made in two steps: (1) minimum fix to HEAD for now and
netbsd-8, in order to reduce conflicts b/w pgoyette-compat branch as
much as possible, then (2) real fix after merge of pgoyette-compat.

However, I'm not sure neither whether "the minimum fix" like this

 http://www.netbsd.org/~rin/netbsd32_ioctl_20181015.patch

is acceptable, nor how "the real fix" should be...

I think we need to decide on what "the real fix" looks like before we decide to use one-step or two-step patch.



+------------------+--------------------------+----------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:          |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee dot com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd dot org |
+------------------+--------------------------+----------------------------+


Home | Main Index | Thread Index | Old Index