Date: Tue, 11 Apr 2017 15:14:26 +0200 From: Fabian Keil <freebsd-listen@fabiankeil.de> To: Christopher Bowman <crb@chrisbowman.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Dtrace oddity Message-ID: <20170411151426.3b760182@fabiankeil.de> In-Reply-To: <CD5E9B03-6147-4E4D-BED6-6C45022051E3@chrisbowman.com> References: <CD5E9B03-6147-4E4D-BED6-6C45022051E3@chrisbowman.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/Wjcw_RzPb68pzBvBRYkVM4L Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Christopher Bowman <crb@chrisbowman.com> wrote: > The man page lists a bunch of reasons for EINVAL so I want to > investigate this and I don=E2=80=99t quite know good strategies to debug = the > kernel (yet) so I thought I=E2=80=99d experiment with Dtrace a bit. Here= is the > oddity: when I run Dtrace and then run my test program I get the > following output from Dtrace: >=20 > crb@retread:60> dtrace -n 'syscall:freebsd:mmap:entry /execname =3D=3D "t= est"/ {}' > dtrace: description 'syscall:freebsd:mmap:entry ' matched 1 > probe CPU ID FUNCTION:NAME > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 > 0 63401 mmap:entry=20 >=20 > I think Dtrace is indicating that the mmap syscall was called 12 times > by my test program yet I can see how the program below would have done > that. A bunch of mmap syscalls occur before main is even entered. Try running your program with truss to see what's going on. > Here is my program: [...] > printf("opening device %s\n", argv[1]); > int device =3D open (argv[1], O_RDWR); > if (device =3D=3D 0) { You should check for -1 here. > void *pa =3D mmap (0, 4095, PROT_READ | PROT_WRITE, 0, device, 0); No flags? From the mmap man page: | [EINVAL] None of MAP_ANON, MAP_PRIVATE, MAP_SHARED, or | MAP_STACK was specified. At least one of these fl= ags | must be included. Fabian --Sig_/Wjcw_RzPb68pzBvBRYkVM4L Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTKUNd6H/m3+ByGULIFiohV/3dUnQUCWOzWswAKCRAFiohV/3dU naR9AKC88uaGiPliml1AEINPpCMkoYMAWQCfSPsCr/Gj/fo9J+0zFGmy+EYYvXU= =JFvI -----END PGP SIGNATURE----- --Sig_/Wjcw_RzPb68pzBvBRYkVM4L--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170411151426.3b760182>