Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Oct 2011 01:52:11 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Dag-Erling Smorgrav <des@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r226157 - head/usr.bin/kdump
Message-ID:  <CAGH67wSzP4HWeRZL6fU0r%2B4ipbG36jhYNdV3xMHfDOQXjy4jBQ@mail.gmail.com>
In-Reply-To: <201110081247.p98Cl06s063337@svn.freebsd.org>
References:  <201110081247.p98Cl06s063337@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--f46d0445187b68d3c404afcb30cd
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sat, Oct 8, 2011 at 5:47 AM, Dag-Erling Smorgrav <des@freebsd.org> wrote=
:
> Author: des
> Date: Sat Oct =A08 12:47:00 2011
> New Revision: 226157
> URL: http://svn.freebsd.org/changeset/base/226157
>
> Log:
> =A0Bring ioctlname() in line with all the other *name() functions, which
> =A0actually print the name (or the numeric value, if they can't figure ou=
t
> =A0the correct name) instead of just returning a pointer to it. =A0Also, =
since
> =A0ioctl numbers are not and probably never will be unique, drop support =
for
> =A0using a switch statement instead of an if/else chain.

This commit broke truss by changing the ioctlname API signature. Example:

$ truss camcontrol devlist
# ...
Segmentation fault: 11 (core dumped)

Reason being is that truss uses ioctlname via an extern, so the
compiler doesn't note the difference (I assume because NO_WERROR=3D is
set in the Makefile) things go down in flames when it tries to print
out the ioctl call (dereferences a bad pointer with strdup)

This patch fixes it (with some minor Makefile cleanup), at the cost of
duplicating the mkioctls guts between kdump and truss (truss depended
on the old API signature).

Note: I did an `svn copy ../kdump/mkioctls .' beforehand in order to
bootstrap the svn history; that will need to be done before committing
my attached patch.

Thanks!
-Garrett

--f46d0445187b68d3c404afcb30cd
Content-Type: text/x-patch; charset=US-ASCII;
	name="fix-truss-ioctlname-segfault.patch"
Content-Disposition: attachment; filename="fix-truss-ioctlname-segfault.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gu0xs3yf0

SW5kZXg6IHVzci5iaW4vdHJ1c3MvbWtpb2N0bHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdXNyLmJpbi90cnVz
cy9ta2lvY3Rscwkod29ya2luZyBjb3B5KQorKysgdXNyLmJpbi90cnVzcy9ta2lvY3Rscwkod29y
a2luZyBjb3B5KQpAQCAtNTgsMTIgKzU4LDEyIEBACiAJcHJpbnQgIiNpbmNsdWRlIDxzdGRpby5o
PiIKIAlwcmludCAiI2luY2x1ZGUgPGNhbS9jYW0uaD4iCiAJcHJpbnQgIiIKLQlwcmludCAidm9p
ZCBpb2N0bG5hbWUodW5zaWduZWQgbG9uZyB2YWwsIGludCBkZWNpbWFsKTsiCisJcHJpbnQgImNv
bnN0IGNoYXIJKmlvY3RsbmFtZSh1bnNpZ25lZCBsb25nIHZhbCk7IgogCXByaW50ICIiCiAJcHJp
bnQgaW9jdGxfaW5jbHVkZXMKIAlwcmludCAiIgotCXByaW50ICJ2b2lkIgotCXByaW50ICJpb2N0
bG5hbWUodW5zaWduZWQgbG9uZyB2YWwsIGludCBkZWNpbWFsKSIKKwlwcmludCAiY29uc3QgY2hh
cioiCisJcHJpbnQgImlvY3RsbmFtZSh1bnNpZ25lZCBsb25nIHZhbCkiCiAJcHJpbnQgInsiCiAJ
cHJpbnQgIlx0Y29uc3QgY2hhciAqc3RyID0gTlVMTDsiCiAJcHJpbnQgIiIKQEAgLTg1LDEyICs4
NSw3IEBACiB9CiBFTkQgewogCXByaW50ICJcbiIKLQlwcmludCAiXHRpZiAoc3RyICE9IE5VTEwp
XG4iCi0JcHJpbnQgIlx0XHRwcmludGYoXCIlc1wiLCBzdHIpO1xuIgotCXByaW50ICJcdGVsc2Ug
aWYgKGRlY2ltYWwpXG4iCi0JcHJpbnQgIlx0XHRwcmludGYoXCIlbHVcIiwgdmFsKTtcbiIKLQlw
cmludCAiXHRlbHNlXG4iCi0JcHJpbnQgIlx0XHRwcmludGYoXCIlI2x4XCIsIHZhbCk7XG4iCisJ
cHJpbnQgIlx0cmV0dXJuIChzdHIpO1xuIgogCXByaW50ICJ9IgogfQogJwpJbmRleDogdXNyLmJp
bi90cnVzcy9leHRlcm4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB1c3IuYmluL3RydXNzL2V4dGVybi5oCShy
ZXZpc2lvbiAyMjY1MjQpCisrKyB1c3IuYmluL3RydXNzL2V4dGVybi5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNSw3ICszNSw3IEBACiBleHRlcm4gaW50IHN0YXJ0X3RyYWNpbmcoaW50KTsKIGV4dGVy
biB2b2lkIHJlc3RvcmVfcHJvYyhpbnQpOwogZXh0ZXJuIHZvaWQgd2FpdGV2ZW50KHN0cnVjdCB0
cnVzc2luZm8gKik7Ci1leHRlcm4gY29uc3QgY2hhciAqaW9jdGxuYW1lKHJlZ2lzdGVyX3QgdmFs
KTsKK2NvbnN0IGNoYXIgKmlvY3RsbmFtZSh1bnNpZ25lZCBsb25nIHZhbCk7CiBleHRlcm4gY2hh
ciAqc3Ryc2lnKGludCBzaWcpOwogI2lmZGVmIF9fYW1kNjRfXwogZXh0ZXJuIHZvaWQgYW1kNjRf
c3lzY2FsbF9lbnRyeShzdHJ1Y3QgdHJ1c3NpbmZvICosIGludCk7CkluZGV4OiB1c3IuYmluL3Ry
dXNzL01ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHVzci5iaW4vdHJ1c3MvTWFrZWZpbGUJKHJldmlz
aW9uIDIyNjUyNCkKKysrIHVzci5iaW4vdHJ1c3MvTWFrZWZpbGUJKHdvcmtpbmcgY29weSkKQEAg
LTExLDcgKzExLDcgQEAKIC5lbmRpZgogCiBDRkxBR1MrPSAtSSR7LkNVUkRJUn0gLUkuCi1DTEVB
TkZJTEVTPSBzeXNjYWxscy5tYXN0ZXIgc3lzY2FsbHMuaCBpb2N0bC5jCitDTEVBTkZJTEVTPSBz
eXNjYWxscy5tYXN0ZXIKIAogLlNVRkZJWEVTOiAubWFzdGVyCiAKQEAgLTIyLDggKzIyLDggQEAK
IAkvYmluL3NoICR7LkNVUkRJUn0vLi4vLi4vc3lzL2tlcm4vbWFrZXN5c2NhbGxzLnNoIHN5c2Nh
bGxzLm1hc3RlciBcCiAJCSR7LkNVUkRJUn0vaTM4Ni5jb25mCiAKLWlvY3RsLmM6ICR7LkNVUkRJ
Un0vLi4va2R1bXAvbWtpb2N0bHMKLQlzaCAkey5DVVJESVJ9Ly4uL2tkdW1wL21raW9jdGxzICR7
REVTVERJUn0vdXNyL2luY2x1ZGUgPiAkey5UQVJHRVR9Citpb2N0bC5jOiAkey5DVVJESVJ9L21r
aW9jdGxzCisJc2ggJHsuQ1VSRElSfS9ta2lvY3RscyAke0RFU1RESVJ9L3Vzci9pbmNsdWRlID4g
JHsuVEFSR0VUfQogCiAuaWYgJHtNQUNISU5FX0NQVUFSQ0h9ID09ICJpMzg2IgogU1JDUys9CWkz
ODYtbGludXguYyBsaW51eF9zeXNjYWxscy5oCg==
--f46d0445187b68d3c404afcb30cd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wSzP4HWeRZL6fU0r%2B4ipbG36jhYNdV3xMHfDOQXjy4jBQ>