NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/53261: kernel crash during test run
The following reply was made to PR kern/53261; it has been noted by GNATS.
From: Kamil Rytarowski <n54%gmx.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/53261: kernel crash during test run
Date: Wed, 23 May 2018 14:00:41 +0200
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ckNgSH4kMLowczPQ4cUJWXOkuKPsat42D
Content-Type: multipart/mixed; boundary="GD8bJInKwCrEwOUQZcU7k8NiwfdgTomDr";
protected-headers="v1"
From: Kamil Rytarowski <n54%gmx.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Message-ID: <cf2d3d49-aa1b-8739-7ec6-5f5f9f9b17e0%gmx.com@localhost>
Subject: Re: kern/53261: kernel crash during test run
References: <pr-kern-53261%gnats.netbsd.org@localhost>
<20180523114501.30B987A1BC%mollari.NetBSD.org@localhost>
In-Reply-To: <20180523114501.30B987A1BC%mollari.NetBSD.org@localhost>
--GD8bJInKwCrEwOUQZcU7k8NiwfdgTomDr
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
On 23.05.2018 13:45, Martin Husemann wrote:
> The following reply was made to PR kern/53261; it has been noted by GNA=
TS.
>=20
> From: Martin Husemann <martin%duskware.de@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc:=20
> Subject: Re: kern/53261: kernel crash during test run
> Date: Wed, 23 May 2018 13:43:47 +0200
>=20
> While the usefullness of syscall(2) and __syscall(2) is unclear, and i=
ts
> use in sanitizer sounds like a bug, we should still make the kernel
> reject the invalid calls in syscall(2).
> =20
I think that rejecting the calls is overkill. We should find a way to
transform 32-bit values (syscall) to 64-bit (__syscall) and pass them ove=
r.
In the mmap() case we can get legal input and output arguments within
the 32-bit range.
Blacklisting syscalls will break compat with programs that might work.
And I find the legitimate use and usefulness of this API and I don't
find it as a bug. It's not perfect, but it finds its place including
sanitizers.
> Grepping through syscalls.master it would seem that we should have a
> =20
> switch (code) {
> case SYS_pwritev:
> case SYS_mknodat:
> case SYS_truncate:
> case SYS_ftruncate:
> case SYS_preadv:
> case SYS_lseek:
> case SYS_fsync_range:
> case SYS_mmap:
> case SYS_pwrite:
> case SYS___posix_fadvise50:
> case SYS_posix_fallocate:
> case SYS_pread:
> case SYS_fdiscard:
> return EINVAL;
> }
> =20
> or similar, at least if emul =3D=3D netbsd.
> =20
> Martin
> =20
>=20
--GD8bJInKwCrEwOUQZcU7k8NiwfdgTomDr--
--ckNgSH4kMLowczPQ4cUJWXOkuKPsat42D
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQJABAEBCAAqFiEELaxVpweEzw+lMDwuS7MI6bAudmwFAlsFV+kMHG41NEBnbXgu
Y29tAAoJEEuzCOmwLnZs4nQP/jWvywxCxDLxDJoA+S8ZpzqZL56mXwLdd4iI1GEZ
qt8qR9YXbDlEQfl1HCk8f2FFt1zeVImDZlmgagHWHm7cmLZy1GDfRTzD1EDeXZPI
JjTVM37/WYkLlY4MqS3hIydSR7tG2TLUD/W+woPzkknS17J3co1IfBanAwKm0pjF
6NTwbAuA+gGzPUFeYmyYQYVaX/usE89bqAsATKliCm6B3UuacxTqb99f3HJlq3Uy
KljhaTYqWT8qGUNoIOKohyvm2jf+h8826IvgnfSnIvh9xijDDxD/hmK3zOP3wT8V
RbnFlMizs4gLIukJXX3nv4LmlYKDDXyTHczwKYm6RSQBUCo7Zu7PxDwMWegfmW97
FcZt4JH83NUqYhr1puo48rCbmhErT+zQtWZq6OVjR9U1o6zWqqLoia3OzZ1BU50C
Ck/rsJAoDFw/2xiXFQdhLVKyIHnemUjeiXFUjCnrLAm55A1K6PrrI1Vw6b/BhuHb
M4v0w9F8cgM5CDW2MkRj9lK9YqQodKzS4B7VrDhM6y2H3r5p1+4Rnzj1gWiO1zdA
70e9CuYWQVQLXGxEJ8QGdYG0RoFGl4ONyESpKKPl/FhHJ0wz7If/wClyqq765G4Z
5KUy+0ZJ3RVlHEaX3OeVMnigSNB5HKmfLzc3kmFFdRLxvDBnGhCcEVT8qglpWqbA
bR4/
=0LNa
-----END PGP SIGNATURE-----
--ckNgSH4kMLowczPQ4cUJWXOkuKPsat42D--
Home |
Main Index |
Thread Index |
Old Index