From nobody Sun May 22 23:11:15 2022 X-Original-To: net@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 A2B031B4E965 for ; Sun, 22 May 2022 23:11:17 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4L5x6D6T3qz4nlN for ; Sun, 22 May 2022 23:11:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 70D9D2459F for ; Sun, 22 May 2022 23:11:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 24MNBGNa089753 for ; Sun, 22 May 2022 23:11:16 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 24MNBGGA089752 for net@FreeBSD.org; Sun, 22 May 2022 23:11:16 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 264094] cc_htcp(4): Setting net.inet.tcp.cc.algorithm to htcp triggers panic on the most recent CURRENT Date: Sun, 22 May 2022 23:11:15 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: crash, needs-qa X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: jfc@mit.edu X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: tuexen@freebsd.org X-Bugzilla-Flags: mfc-stable13? mfc-stable12? X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1653261077; 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=ceXAJSsEYvlbVRymYIemStdVRD77hhsUVuF2kuhlRdU=; b=D4jPsuAdQ/jToGTxdKRylvUxgLc8nj6C8ycF7fI7yCYJ+Rd7nkaDa9+mAsczq457DiuXO4 j8Oa/qhWRLPAtPD/rvgwBI3BMbOSBNND1Pa1GgbEUYypmO4zj9BzysK+z/xINTR/O7QuZo zEW1ohHT1bJC84myJd2bDOWCx0bzyuevKWrN3gh32RGuVmu06377myLeDBHHUbw06SrpHq iDbzQryTvpL17h8/1XZS/sfeAl1ebJ8y4QYe5apsXXrvIPIA/hgnf2qpoEoaQZKiu6OoSf aKUwiQvuNznfZ+js/sGeaST4iHeH+k6nB5lFtciPMh1V7KqFrDwKbwWxZ7WP1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1653261077; a=rsa-sha256; cv=none; b=cqf+JmH3vew6dvD8TvsmHPKjJZHogOrwW9E06jbM5VoKcAlBrdqS8XokUzSbHcxsJUMPx8 ojsb/BWSvfJirHb6I3tAayCMlMzkZW4FnZnufqxRD3TF0Vg381eierQqvMKT3U89MKG7pS h+yopEcA+UbJKXwFuvzRGDqQ43n9v2kRfa337hDY7PYw1QqNJYhRtlVCu6sxDn03PKDxuD v1ZSXS6SmlLNMbMmSp7rnSZXnGtnc2/Q+QGx0rO2M811cC4npkud4Vg/qN0LsP8FC6L8DQ j3ogIvFYy7cXOCi80Hqt556AsOBd6Pit/cbJI/mwDdMYoZQMZIOFnBvdhT92Ig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D264094 John F. Carr changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jfc@mit.edu --- Comment #9 from John F. Carr --- The problem is introduced in the process of turning the .o into a .ko. Pinpointing the bug requires study of the exact definition of the ARM relocation types, in assembly and in ELF. If you change -c to -S in the command for building cc_htcp.o you get two consecutive lines of assembly adrp x11, :got:vnet_entry_htcp_adaptive_backoff ldr x11, [x11, :got_lo12:vnet_entry_htcp_adaptive_backoff] In cc_htcp.o these become (objdump --disassemble --reloc) 200: 9000000b adrp x11, 0 200: R_AARCH64_ADR_GOT_PAGE=20=20=20=20 vnet_entry_htcp_adaptive_backoff 204: f940016b ldr x11, [x11] 204: R_AARCH64_LD64_GOT_LO12_NC vnet_entry_htcp_adaptive_backoff In cc_htcp.ko these are incorrectly optimized after the linker determines t= he variable is close to the instruction: 10f50: d503201f nop 10f54: 10082f6b adr x11, 21540 This computes the address of the value instead of loading the value. The optimization would be correct if there were an adrp+adr pair but it is not correct for adrp+ld. So is :got_lo12: the wrong prefix, is R_AARCH64_LD64_GOT_LO12_NC the wrong binary relocation code, or did the lin= ker forget to check the opcode of the instruction it rewrote? --=20 You are receiving this mail because: You are on the CC list for the bug.=