From owner-freebsd-hackers@freebsd.org Tue Nov 3 09:46:37 2020 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 728144530AD for ; Tue, 3 Nov 2020 09:46:37 +0000 (UTC) (envelope-from xtouqh@hotmail.com) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4CQQ0Y0h9Kz4sTn for ; Tue, 3 Nov 2020 09:46:37 +0000 (UTC) (envelope-from xtouqh@hotmail.com) Received: by mailman.nyi.freebsd.org (Postfix) id 15832452EAE; Tue, 3 Nov 2020 09:46:37 +0000 (UTC) Delivered-To: hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1423F452F0F for ; Tue, 3 Nov 2020 09:46:37 +0000 (UTC) (envelope-from xtouqh@hotmail.com) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070101.outbound.protection.outlook.com [40.92.70.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CQQ0T719Sz4s9n for ; Tue, 3 Nov 2020 09:46:33 +0000 (UTC) (envelope-from xtouqh@hotmail.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DX1X/YOFhubLHZ0ULV1oG6agPLGCz3u9W+VqaeCbyH5cVYeJpL/WOYTNgkXA2bttx0Dwpta9RTR9/gR/5GxdxWOcG0ukABIZR3A6DPWODym87LUXsipEC4scCWkkyjqQVu0OHWdMj4HK2j3v5UZHF9KTV/SynDSvU1VizI4lSlgth2vyJDaNQ5l/jWPiuAzW/YXsqXk9jrVbEe+LB5jR9zkIybqp/x02epyAKlfdqYAyrmxumo8bZgdudbqEyoou1JisI4ZL6dejMNgDPugtFliYt4NL/z3e+6WbT1tI4iQ4A7we8LOmkCTP8KDo6pXTsm0f19ZtJJfoiPGWIJqx4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ryACjASzv93anvtVxHD/1Mdh8KDquUR/efBPi7vJ1sc=; b=O3BwEsxr3Dvy19UpX/lhJvI1AA/szIw+B5UubuU7XWF0sSHkXBIdr6o+P3LnwrHdpB5cwE4eWAe/gxCzPQ/DU3uGjKM2bM+0MsbPGtWeAkvrnawFKrbCvnQHtTPxlKNxYc1YpwbI2tE/6LpxPzGmythwUvO3gMPU3OneypKGmYWuKrImt1hbA2JxMPg6ArzpWZJHJsmKIizWRvEpCt2G5U3GsgDSgsB2zG07ZaOvrGxaEkE02rYCiFMOHriTBiLSwV0VqbxczcX5CtqZllaN41MwUOU2ksDjbgyHZfN8QMIOMWJdFJyVkSItdArtg/hu76Uu/MfP9LO8XGaMGkwBlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ryACjASzv93anvtVxHD/1Mdh8KDquUR/efBPi7vJ1sc=; b=NPmxd5YYL67DGEkzYsZlFonrQiROFz6wcG/k2cg6AlJEc9fy0uFXHYuO3Eia1oRRbvOkEeH2xOcMTvRG92Vkb+qyM7Gv+kPl6vlInxpfdqkI+WKwU+yvEVeJNbn3K4rRhCMa6mfXxx9S2jGXTRFJY1tZsw3MAv5PBtZPwf21qXz+wG9Vh7pcKudGlzWemIp9wQMK0Q00PLssg0m+mn5a47vzTc4Yl5CoNLovQYKuPZ1DIDVYG+RsoVj6j2iLux3Nts2VBvtlON9b3qz22RJA9y/HDDPgsPNh4i3tmFlfWQaKP6bxQuOY7OURCZOuQHjzdZVbevODsFYrxAyUM4eQ6g== Received: from VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com (2a01:111:e400:7e09::51) by VE1EUR03HT197.eop-EUR03.prod.protection.outlook.com (2a01:111:e400:7e09::283) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3520.15; Tue, 3 Nov 2020 09:46:30 +0000 Received: from AM0PR06MB3986.eurprd06.prod.outlook.com (2a01:111:e400:7e09::4a) by VE1EUR03FT030.mail.protection.outlook.com (2a01:111:e400:7e09::66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3520.15 via Frontend Transport; Tue, 3 Nov 2020 09:46:30 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:06742524CFD7474CDEF1BF96E8FBC056FEC68059409EDF7DC26F2F897CE878B8; UpperCasedChecksum:D1FC500943D7670BDEF3208FBB7852D35952339167E8AF47B0C867260940F1D1; SizeAsReceived:8474; Count:45 Received: from AM0PR06MB3986.eurprd06.prod.outlook.com ([fe80::759a:af46:6f2:8fb8]) by AM0PR06MB3986.eurprd06.prod.outlook.com ([fe80::759a:af46:6f2:8fb8%7]) with mapi id 15.20.3499.032; Tue, 3 Nov 2020 09:46:30 +0000 To: hackers@freebsd.org From: xtouqh@hotmail.com Subject: KASSERT(val != 0) not triggering in linux_errno.c reading outside of array Message-ID: Date: Tue, 3 Nov 2020 12:46:29 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TMN: [mhTGEAgC1a8fc9VBo9bVHJIhtDMC4Crc] X-ClientProxiedBy: FR2P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::17) To AM0PR06MB3986.eurprd06.prod.outlook.com (2603:10a6:208:b6::28) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.1.6] (91.240.124.157) by FR2P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.10 via Frontend Transport; Tue, 3 Nov 2020 09:46:29 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 45 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 7cde9655-6740-4230-e121-08d87fdd5725 X-MS-TrafficTypeDiagnostic: VE1EUR03HT197: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZTSypa5SitzF2ICiBcEEb99Mc2MBNeRm3dF4fcRiO722PCsK6D845lZ6YV9X4Cdcuik+j93DEEakpphw3QwFFRQtGPl64BSJTkbWuBjtZAj7O2bnCxCFMNz8f3b7vT/VvuzUTQHR02E+wbsX2JHUMPcdsf+KggvFVKZ7xFZh7QmpMShfMbY8ZJUlwJJhGV5D3/YFfziiOOI4vVnYWWaLfd2Uf2g7v9KBX49mcsUJZf1MDvdCWrzv0hQ95aRyJwHQ X-MS-Exchange-AntiSpam-MessageData: Gh9LfbqxVc0P6Rx0BMbvlfkQyNpApN0z5Q7KHWTIDcAEFZYr4VlfdYz7NRG1Q/ytXGB0V+J+oleh4JnC83+eaVv9nIGs9KcLbeBv7MZlY3niF4cAUPb7NdQtngG9RhddR4VDhtmTKZ1+aqC6Q4qGDA== X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cde9655-6740-4230-e121-08d87fdd5725 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2020 09:46:30.3013 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR03HT197 X-Rspamd-Queue-Id: 4CQQ0T719Sz4s9n X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hotmail.com header.s=selector1 header.b=NPmxd5YY; dmarc=pass (policy=none) header.from=hotmail.com; spf=pass (mx1.freebsd.org: domain of xtouqh@hotmail.com designates 40.92.70.101 as permitted sender) smtp.mailfrom=xtouqh@hotmail.com X-Spamd-Result: default: False [-2.88 / 15.00]; FREEMAIL_FROM(0.00)[hotmail.com]; R_SPF_ALLOW(-0.20)[+ip4:40.92.0.0/15]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[hotmail.com:+]; SUBJECT_HAS_EXCLAIM(0.00)[]; DMARC_POLICY_ALLOW(-0.50)[hotmail.com,none]; NEURAL_HAM_SHORT(-1.21)[-1.211]; RCVD_IN_DNSWL_LOW(-0.10)[40.92.70.101:from]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[hotmail.com]; ASN(0.00)[asn:8075, ipnet:40.80.0.0/12, country:US]; FORGED_MUA_THUNDERBIRD_MSGID_UNKNOWN(2.50)[]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_MEDIUM(-1.06)[-1.057]; R_DKIM_ALLOW(-0.20)[hotmail.com:s=selector1]; RCVD_COUNT_FIVE(0.00)[5]; DWL_DNSWL_NONE(0.00)[hotmail.com:dkim]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.02)[-1.016]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1]; FROM_EQ_ENVFROM(0.00)[]; FROM_NO_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.92.70.101:from]; MAILMAN_DEST(0.00)[hackers] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Nov 2020 09:46:37 -0000 I'm looking at the current sys/compat/linux/linux_errno.c source, specifically this function: https://svnweb.freebsd.org/base/head/sys/compat/linux/linux_errno.c?revision=367132&view=markup#l24, and noticed that sizeof() usage there seems to be bogus as I mentioned in https://reviews.freebsd.org/D26974#inline-168811. What I'm wondering about is why KASSERT() is not triggering there -- I have added the following printf() right below KASSERT() showing that we indeed read outside of the array, and some of the linux_errtbl[i] values are 0: printf("%s:linux_errtbl[%d]=%d\n", __func__, i, linux_errtbl[i]); But, if I add the following check before printf(), it seems to be never true: if (linux_errtbl[i] == 0) printf("%s:linux_errtbl[%d]=%d\n", __func__, i, linux_errtbl[i]); So how come printed values are 0, but KASSERT(value != 0) and if (value == 0) are never true? I tried to reproduce this in simple userland test case, but the check seems to be working correctly there (though still reading outside of array if using sizeof() for final index). What am I missing here?