From nobody Fri Aug 28 18:22:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hWmvg1YTZz6qqns; Fri, 28 Aug 2026 18:22:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hWmvg0jKwz3wfw; Fri, 28 Aug 2026 18:22:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787941359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HI8EQrE6PVMByyD4geCQp6J1lCdK3YUP8PqcyppUh04=; b=BEOlcMVYyWDRFN/7ttW2yn6CwjQH52+AAS/+Uz/BS1koCuoxXnZTfcZqZPUsPkjHAt7Qng 1xO3xeP7G92Pnx9Y1Hyrj1xGBaDdI4A4cBU2+rj/vgPoVHzbdT2/Vm3a55wBpwU+axZmzk Ep/KVSjN+T9qOLZdGhOKS5omMcC1CoIxPz3Nich4d+Ppx4qqnbJhew5ig9/YifMVqeZiRE wVzZegQR+q3Ur2g4vAT/TUIGSOjfWmLRz+Dpc2WTBouRxGT3WlABS+DU+waNGnAm9BzdPW UzKJ9kRvdiB4U5rUMRh8tQurF5MtI3LIxEDc2zpsM2FiORPLAYV9yEtY0YhC4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787941359; a=rsa-sha256; cv=none; b=TqUEV/ZwJlqaEXwcPeoEYXj+Fy/uXdL0HI6PyLNfV6wG1my3xMBor1+SP23h9Axji7hkhM ynZcm4vRsxUkMKrHlC6Pvro8qOYXf8RR8ZM6TOseiBRMU6pxAXulkY8hH9luzpGNkKz9gu K2YHYBmhRvr2/sjkF91c+i+Dg/j+nsbGWmP8OSPwZF8uVquuRCZD5QOMqunCjtjFqaQ2RK rODnIBoFOnn509U245h1A7Ppc/Wbr9Vlhgt78UjajqsI0zGuVUKhqu/e6jP3QMQVKLqtt4 psZ6LGkrlBanxnTLmBrwA8Bme+d13NxggoYFYWUBJzvMKba4OwMhteCESZW7+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787941359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HI8EQrE6PVMByyD4geCQp6J1lCdK3YUP8PqcyppUh04=; b=gCpd3KfUuaSR+jN/NH/VNSbnKpCSvbEy86Vexy0NYY0MGg60qjlA7Xq0BA3QzcZVS2F9X+ 9Q6w36mx9wouqOirb1ZDKN4IDXAgAuJgUvCsbKn6pBl1XJmhTm1wLP/xWtmCMJ0w/uUF0x plMylSjHjAJaDXQ+IcZqQqHPu0EtsmoQc0Cwf6kJeSmqTvCBg4/xEhNlL8cjuJB32jf/CD OtWdeJ7Ud4+6KTxTx5k6u2HxPIXzmo+2ufRrepy0+18aI2UgeNhFdFinGoBdLcGc146oGT cFXjsjJ2vuujTAuWtB6x3cOeOuX445BL0mfaGujaeXiYhCNdKLRFiBSLKB+LYg== Received: from [IPV6:2601:5c0:4202:5670:2ca1:b3c8:893e:dc3b] (unknown [IPv6:2601:5c0:4202:5670:2ca1:b3c8:893e:dc3b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4hWmvf5X31zHjk; Fri, 28 Aug 2026 18:22:38 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <774a3fb5-66f0-4163-86f3-91cd7b346563@FreeBSD.org> Date: Fri, 28 Aug 2026 14:22:38 -0400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 4617a6cb82a6 - main - nlist: Handle multiple symbol tables Content-Language: en-US To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rg_rav?= , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <6a0c08f2.23d77.5dd90a92@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <6a0c08f2.23d77.5dd90a92@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/19/26 02:53, Dag-Erling Smørg rav wrote: > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4617a6cb82a673b02257257c1f5f8a3c8d2bb943 > > commit 4617a6cb82a673b02257257c1f5f8a3c8d2bb943 > Author: Dag-Erling Smørgrav > AuthorDate: 2026-05-19 06:52:53 +0000 > Commit: Dag-Erling Smørgrav > CommitDate: 2026-05-19 06:53:35 +0000 > > nlist: Handle multiple symbol tables > > * Instead of looking for and stopping at the first SHT_SYMTAB section, > iterate over all SHT_DYNSYM and SHT_SYMTAB sections until we've either > found all our symbols or run out. > > * Perform bounds checks on section and string table offsets and sizes > before attempting to mmap() the string table. > > * Perform bounds checks on individual symbol table entries before > attempting to access the corresponding strings. > > * Stop treating _Foo and Foo as the same symbol. > > This unbreaks OpenSSH which uses nlist(3) to verify PKCS#11 providers. The _Foo vs Foo change broke many uses of kvm_nlist in the tree. In particular, ktrdump no longer works on crashdumps now, and I finally single-stepped through it today to figure out why. A quick grep shows me all these places that are now broken: lib/libkvm/kvm_cptime.c: { .n_name = "_cp_time" }, /* (deprecated) */ lib/libkvm/kvm_getloadavg.c: { .n_name = "_averunnable" }, lib/libkvm/kvm_getloadavg.c: { .n_name = "_fscale" }, lib/libkvm/kvm_getswapinfo.c: { .n_name = "_swtailq" }, /* list of swap devices and sizes */ lib/libkvm/kvm_getswapinfo.c: { .n_name = "_dmmax" }, /* maximum size of a swap block */ lib/libkvm/kvm_pcpu.c: { .n_name = "_cpuid_to_pcpu" }, lib/libkvm/kvm_pcpu.c: { .n_name = "_mp_maxcpus" }, lib/libkvm/kvm_pcpu.c: { .n_name = "_mp_ncpus" }, lib/libkvm/kvm_pcpu.c: { .n_name = "___pcpu" }, lib/libkvm/kvm_pcpu.c: { .n_name = "___start_" DPCPU_SETNAME }, lib/libkvm/kvm_pcpu.c: { .n_name = "___stop_" DPCPU_SETNAME }, lib/libkvm/kvm_pcpu.c: { .n_name = "_dpcpu_off" }, lib/libkvm/kvm_pcpu.c: { .n_name = "_mp_maxcpus" }, lib/libkvm/kvm_proc.c: nl[0].n_name = "_nprocs"; lib/libkvm/kvm_proc.c: nl[1].n_name = "_allproc"; lib/libkvm/kvm_proc.c: nl[2].n_name = "_ticks"; lib/libkvm/kvm_proc.c: nl[3].n_name = "_hz"; lib/libkvm/kvm_proc.c: nl[4].n_name = "_cpu_tick_frequency"; lib/libkvm/kvm_proc.c: nlz[0].n_name = "_zombproc"; lib/libkvm/kvm_vnet.c: { .n_name = "___start_" VNET_SETNAME }, lib/libkvm/kvm_vnet.c: { .n_name = "___stop_" VNET_SETNAME }, lib/libmemstat/memstat_malloc.c: { .n_name = "_kmemstatistics" }, lib/libmemstat/memstat_malloc.c: { .n_name = "_kmemzones" }, lib/libmemstat/memstat_malloc.c: { .n_name = "_numzones" }, lib/libmemstat/memstat_malloc.c: { .n_name = "_vm_malloc_zone_count" }, lib/libmemstat/memstat_malloc.c: { .n_name = "_mp_maxcpus" }, lib/libmemstat/memstat_uma.c: { .n_name = "_uma_kegs" }, lib/libmemstat/memstat_uma.c: { .n_name = "_mp_maxid" }, lib/libmemstat/memstat_uma.c: { .n_name = "_all_cpus" }, lib/libmemstat/memstat_uma.c: { .n_name = "_vm_ndomains" }, sbin/ddb/ddb_capture.c: { .n_name = "_db_capture_buf" }, sbin/ddb/ddb_capture.c: { .n_name = "_db_capture_bufsize" }, sbin/ddb/ddb_capture.c: { .n_name = "_db_capture_maxbufsize" }, sbin/ddb/ddb_capture.c: { .n_name = "_db_capture_bufoff" }, sbin/ddb/ddb_capture.c: { .n_name = "_db_capture_inprogress" }, tools/tools/ifpifa/ifpifa.c: { .n_name = "_ifnet", }, tools/tools/umastat/umastat.c: { .n_name = "_uma_kegs" }, tools/tools/umastat/umastat.c: { .n_name = "_mp_maxcpus" }, tools/tools/umastat/umastat.c: { .n_name = "_mp_maxid" }, tools/tools/umastat/umastat.c: { .n_name = "_all_cpus" }, usr.bin/ktrdump/ktrdump.c: { .n_name = "_ktr_version" }, usr.bin/ktrdump/ktrdump.c: { .n_name = "_ktr_entries" }, usr.bin/ktrdump/ktrdump.c: { .n_name = "_ktr_idx" }, usr.bin/ktrdump/ktrdump.c: { .n_name = "_ktr_buf" }, usr.bin/vmstat/vmstat.c: [X_SUM] = { .n_name = "_vm_cnt", }, usr.bin/vmstat/vmstat.c: [X_HZ] = { .n_name = "_hz", }, usr.bin/vmstat/vmstat.c: [X_STATHZ] = { .n_name = "_stathz", }, usr.bin/vmstat/vmstat.c: [X_NCHSTATS] = { .n_name = "_nchstats", }, usr.bin/vmstat/vmstat.c: [X_INTRNAMES] = { .n_name = "_intrnames", }, usr.bin/vmstat/vmstat.c: [X_SINTRNAMES] = { .n_name = "_sintrnames", }, usr.bin/vmstat/vmstat.c: [X_INTRCNT] = { .n_name = "_intrcnt", }, usr.bin/vmstat/vmstat.c: [X_SINTRCNT] = { .n_name = "_sintrcnt", }, usr.bin/vmstat/vmstat.c: [X_NINTRCNT] = { .n_name = "_nintrcnt", }, usr.sbin/iostat/iostat.c: { .n_name = "_tty_nin", usr.sbin/iostat/iostat.c: { .n_name = "_tty_nout", usr.sbin/iostat/iostat.c: { .n_name = "_boottime", Would you rather revert the underscore change or fix all these? -- John Baldwin