From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.74]) by sourceware.org (Postfix) with ESMTPS id B47833853C33 for ; Tue, 17 Aug 2021 15:00:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B47833853C33 Received: from DB8PR09CA0017.eurprd09.prod.outlook.com (2603:10a6:10:a0::30) by DB6PR08MB2837.eurprd08.prod.outlook.com (2603:10a6:6:19::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug 2021 15:00:02 +0000 Received: from DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:a0:cafe::d9) by DB8PR09CA0017.outlook.office365.com (2603:10a6:10:a0::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend Transport; Tue, 17 Aug 2021 15:00:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT062.mail.protection.outlook.com (10.152.20.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 15:00:02 +0000 Received: ("Tessian outbound 6ba9ec11d42b:v103"); Tue, 17 Aug 2021 15:00:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ff867673722ebf90 X-CR-MTA-TID: 64aa7808 Received: from 3e12f5cf30f3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 618767AB-BDFE-45E7-A814-CC0216A8E2CF.1; Tue, 17 Aug 2021 14:59:56 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e12f5cf30f3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 17 Aug 2021 14:59:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D59btO/uNXYd4Imh7FyyYVYRehiUwdN5lN57ocKdIimf/qvASf6k7DOUYosCt8qp4o7No7HR3UWtldKZYQHKXynHhLA9FHRKz5u3+r+FC2hR1fa/CKzK0GgpQTarSrJZU52WqdApNPvxGD0RY5f0XD0hoZvEIv/g8w5mirT9RCdNd38itwfJhKAFPyfMfOkNOnVqEbXFzYaBHmqIie8BzMENeyNMXivEpPIt4WVEWSN3IQJC8ae3AqXmkEKcvQgxO1jJo+a7J+xzrz/NCS4V5m8geATJ58otw0Qyr7jNDEzQ2fKfQDAw+SJrVE6StkqRagCchvRN77GtoB6jFSlc6A== 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=nWvSkvVZqH88u942fzAtAnUrDMpWEfjFm2IE0B5f3Uo=; b=W95aW+tpK0HnhPZtWN4r3PqichcrsLt8m0SmOBUKIqyIW8uVjTY1j3F6KNmesS1l7qb1Dign0E7a8eUW5Idu+TKFYpd37kgPcYC3esZU9tdhR8oeZRzd0xow1232IfcfSfk9FkBMAUtMLd+vRJ8YLyhXzTqMKEp3R8jJULRUFajwG9bVRrAQ08Zhb86H0CnyGkh5qrRtajfC03u95GrROdVms/U8qasipNQx5JG3PX4tKVi4gx3j15WUtaTquYU+WcQb6PfDXc4pvu7wIFrdyGPPPk2xBtGXRVcftLKm9AyLeqpEquXYEc6O2638ou+skfKwY+/HON4QEP6q8gO5kg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PAXPR08MB6656.eurprd08.prod.outlook.com (2603:10a6:102:15d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug 2021 14:59:55 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::cd22:a583:c97c:72a6]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::cd22:a583:c97c:72a6%7]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021 14:59:55 +0000 Date: Tue, 17 Aug 2021 15:59:47 +0100 From: Szabolcs Nagy To: "H.J. Lu" Cc: Florian Weimer , GNU C Library , "Kirill A . Shutemov" , Joseph Myers Subject: Re: [PATCH v5 1/1] : An API for tagged address Message-ID: <20210817145946.GG25257@arm.com> References: <20210805131358.300475-1-hjl.tools@gmail.com> <20210805131358.300475-2-hjl.tools@gmail.com> <87bl63giup.fsf@oldenburg.str.redhat.com> <20210812120115.GN20410@arm.com> <20210817123258.GF25257@arm.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: SA0PR11CA0006.namprd11.prod.outlook.com (2603:10b6:806:d3::11) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.49) by SA0PR11CA0006.namprd11.prod.outlook.com (2603:10b6:806:d3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend Transport; Tue, 17 Aug 2021 14:59:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4f862822-8c6a-450e-f846-08d9618fb111 X-MS-TrafficTypeDiagnostic: PAXPR08MB6656:|DB6PR08MB2837: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: YVeJ0p2uk6m8xeWIkbmptJb60oAgtJANuqMmNA2zc0LtDjAzlLbAswhQS8XQ/WiL9J92yK4XOl16aWSq716nTTDfxDXsKbwpONSORMGsse4fICyRSicCkGj0KK0XOr7uX0XkJEMD1IrPPvw+k9hSY+DgRbLdAJWDfxtqGBOXUEmsHhkMRklExJd2W9Nsjx8Vxw1PBN8Ujui1Ih7ovxUSpXTUJDewe567+wHS/XsR8nkAmEyYUS1FaY3cuC8UJwTyeKR1VV1+aF+PGOfoQA7n3yWUSlYO3uneLWSvk86ZnT8ZpIY6A6JORlJmaaiX7HG+Fl3mVT6/RDdgr5M6MNZOHJLQfDYLkCHzfsuVmYOMutjmUmDfjojuZEU0qeF2r+g28dyIIha2kxFPhw8sfRFnUvE78oO8lcmJ9lgXAloS7ec8FG4jczHItlCTfOvKlbkneUrzAwHEia7zJ1nR1+rGWhUKG/ZxZ0nQt6G8+e2+Tc3IWMwPCFE6047znQ7zEp/LMnL5IPpXZyH/mN0XohCG6D6qYx/B00te9Lid8bm6YTXsBa7QUvMTsgHjXrlQz0dwIwcMYerX1FETUKJd6ZC3bdVBdBx8QGZfepiTwwZY7uqpSZsdBwR56aA/7CgawP643ZfnYgREA2z/hawgwgumz9IrHxFmfRFSNSV7b3whZTSERV2BLRb7rg9XOzghCjnrvVajwMPNkI1eEZMSYarKug== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(39840400004)(396003)(346002)(136003)(44832011)(33656002)(316002)(6666004)(55016002)(66946007)(8886007)(478600001)(5660300002)(38350700002)(38100700002)(956004)(54906003)(86362001)(8936002)(52116002)(1076003)(26005)(8676002)(36756003)(4326008)(66556008)(66476007)(6916009)(2906002)(2616005)(7696005)(186003)(53546011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFp4WmRLWlpOYkJqNG5DcFcza1hBSHc1aXp6TlVaREpxQUdadlZ0empGd3ps?= =?utf-8?B?U3dKVzJ2UUtQSGlKcWM0R0NDNytBNTdwOEF6b0ZDZndRc2sxU0c4bnZZajFY?= =?utf-8?B?SlhnNGd0S094YnB1aEZlN1BEbzBaaDNYRjZjZjVLSE1JaXExblM1N1kycGRl?= =?utf-8?B?ZVp2T0N5STJSdkZTWjlyTEpwMW5XSGdJMENmdVF3dDBLcndwaEdXSXoyUlNz?= =?utf-8?B?c2tHVzhsNW1neVhhM1d1Z1FQblA4UGgvRTNyaWx3S3loQ1ZhMHo2UFNmaTV5?= =?utf-8?B?WGlFT1BhYWZxaHFVR0luZlJ3ajkyc25QaFlZbVhOUGN1R3FEODJTcUdWV0dp?= =?utf-8?B?dGhJL01WQjR0VHVuSlV1U01YL3dvNTI2L3RWUEdISVFFRmJuNlI0Y2wvVFZu?= =?utf-8?B?bEZPS0RUVDZyanJPcjhHbjRYaFZJWUNpS1dPMXBETy94SFpKV0VaTUJNQWI4?= =?utf-8?B?WVdNYmwrN1BiTDlCZGpFVS8zRThLZW1pb0dUS09BOE5Za2FlS2FQRVJHUk5o?= =?utf-8?B?M2l2aFdFV1oxUTBZL0lJbDVEakhHU1N4cDdtZTRPbzVCY0twYThCTUVtWUkx?= =?utf-8?B?VzNFeTR6UXFVVytneEJBaklXdUJSMHVFaEFPaSs1b01pdXZuZkZzTmZUK1FL?= =?utf-8?B?Nm44S0NyOWhBbjFIT3VIdVZtT0RvMVVLTml2VFRpdE5tWXRobG9LMWpBdzJj?= =?utf-8?B?c09MeE0raFRORW9aZGRra1RRWkVrU2NVMmNMN0NWUng2NlhzZ0FYK2hDNDZu?= =?utf-8?B?aXpRUE93N0lXcHdEYVhoMk5ma0tSeUFsaTlGeHlBWTZZcGQ4Qnd6UFlUcEFw?= =?utf-8?B?UG9vMUVGM1ZEYTNuZFRoNFRTTlFjOFE5NHZuazJSSTdtY1E0bXBhS25HY2Jm?= =?utf-8?B?ZHMxbHZIWDZDU1UyeUJMVjFVTWpQZk8yZGlvVHN4WE92Y005L2FjTWsrNXRD?= =?utf-8?B?RElKZWpFUE5OY2FSL2FKSzMwVzcrdnJFc1hpdERqamdhQ0dXaWY0by8yTWJF?= =?utf-8?B?UDBmQlI5dVpIRHpRVyt4WStpeHpNUCtMeGM4MzkwR3Jic1dlcGhkTFJVYUdW?= =?utf-8?B?c1h4ZmhsM2JwbGt3dnYvekxIcVh4SEgzcTN3VnQvRVVXUlZjSEV3cEI3N3Bl?= =?utf-8?B?T0thdXVFdkllWGNrNCtYUjU3QTk3R1pRN1dMOW5ZaFJtRUdqdzlXTU54dFhw?= =?utf-8?B?NkhwTGp5aTRXV3c0NmRiOGhUWXYvNjhtczV0YlJQQWgraGo4ZDl2VldCUm82?= =?utf-8?B?Wm4wTmJ3N0ZiK09BeGpkUDRNbDJ3UWlpQ1ZLUUYzZ2JvVDhzMEZZL1dydTNS?= =?utf-8?B?Yk1CKzQ3enVwdzVtU2Ryb0FWZ3NONkw5V3lUNW5KcGk2c2VZTG1xWStvOWVL?= =?utf-8?B?c1psV0pPZkdSclJGNmJrU0lBRmJzT21WRVpJYitwUlZwR1F3eTdhSTAyLzVi?= =?utf-8?B?Q0FMdUNvTkF0RnR2NTBYcmNUWk1vemFwZDNJaGt5bU9jUEdyclNRTGVqb2Yy?= =?utf-8?B?bG9KbXpGMWl5Nmh1YUxBbzRWWFI0RlBURGt4TWxQVEl4VjFYeU9VU1NxYVo1?= =?utf-8?B?c0s4VUhPTW5BcWZVQTV0eGloOU5ROU9weG52Q256K1YyOTF3MmVFcDZXNmJm?= =?utf-8?B?cUtQOWwwTEJPNDgxNTJ0V3kvQ2U0eGY3ajhtY2ppU3l5OXpRQkNrd1k4ekp4?= =?utf-8?B?SnVIRi9xdWFzWTRncU9lKzUzR3RmYlBXYlFncUNxWDJuWXZZTkhjbVRzbHN2?= =?utf-8?Q?qh0oMoSFeO+F42XV8QT7KBAziZZKEUarIQZn+GX?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6656 Original-Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 78065abc-210e-47ee-38bc-08d9618fac39 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JCFzY4YEc27FEaagvyWDyZH15R7pTbEGBFiQGNq+PDFVomeEFfy6VLD3yaDffVCQbYeOALf9AO56tgCcasf79rpO/OjHVIutLpK+N43dZB5FJAmZ4yjXEt1Rlou+7BltHqrVjzLygEANg3cxT+70VyO45t8TABP7IauBUSFVn1ELIvtJ+FcSOTauSfcDpc+ePf3W9LQQRFVnI7lhp8WsnSjaDeGqIt32g3jmuwaAR230FT9CdZM7/K2G6RAf+t+Wdv4tQzYR/AfKUuO7Jd+L2flDLgXljvutVwro9x9Hb6S8fV0nW2UTVufbw5pjyfwGUcsRbdQkQaD+IZpBvIQpgi05XS3eUGfUfivqjcTWsPjT1acnWCkVPbcKTzlgfTZr3JTQynW8jUApJPO1I91qzdQ3DG70fF5hUkLrKAglLDamaW8jwKvApzgJTo5MaOrGA5MR4KXNKCUsKwE+ydAVQSG6uomqOuqCmq2BS2IarYHds8dX1VVNrY852bFHTkyYZlyLjgqQh2D12MeE4jrTVoc91oJoysW5/IsUfZJ+kfDXV5/hZuw8VlZZkgUwfZIZRisbXNSQnT2Z0fPbSEFAvNqVvuXbj/WKxgsN56+ioNovphBeTEYxbITEK7MUciaR0oqunBzI8FAyL3zvndidNVd0CjxJtYAXitiIn8ND4S4XpeOckJXuQgYe5LbhFJ1G516aiUMl+wot2T7vqbW9Yw== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(346002)(376002)(136003)(396003)(39860400002)(46966006)(36840700001)(70206006)(70586007)(44832011)(82740400003)(33656002)(6666004)(55016002)(8886007)(478600001)(5660300002)(316002)(336012)(81166007)(86362001)(186003)(956004)(8936002)(54906003)(1076003)(47076005)(8676002)(36756003)(6862004)(26005)(356005)(82310400003)(107886003)(4326008)(2906002)(36860700001)(2616005)(7696005)(53546011); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 15:00:02.8518 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4f862822-8c6a-450e-f846-08d9618fb111 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2837 X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Aug 2021 15:00:16 -0000 The 08/17/2021 05:53, H.J. Lu via Libc-alpha wrote: > On Tue, Aug 17, 2021 at 5:33 AM Szabolcs Nagy via Libc-alpha > wrote: > > > > The 08/12/2021 13:01, Szabolcs Nagy via Libc-alpha wrote: > > > The 08/12/2021 10:36, Florian Weimer wrote: > > > > I still don't see a way how we can split tag address bits used by the > > > > implementation (glibc, sanitizers) and the application. > > ... > > > so one approach is to just disallow user tags, only sanitizer > > > and similar tools can tag (and i think hwasan can coordinate > > > with glibc via less formal api/abi that we can change later) > > > > to expand on this: i think we should just focus on the hwasan > > use-case. there may be other use-cases for tagged addresses, > > but we need more experience before we can design a generic api. > > hwasan can just poke at implementation internals and have > > target specific logic for now. > > Agreed. My motivation is hwasan. > > > allowing application code to use the tag bits can break c > > semantics and compiler assumptions too easily. > > > > and we should not require hwasan to use libc apis to work > > with tagged addresses, that would slow it down. > > There is no reason why a libc API should be slow. Currently, > LAM enabled libsanitizer/hwasan has > > #include > > bool lam_failed = set_tagged_address_mask (TAGGED_ADDRESS_MASK (57)) > > We only need this function to enable LAM in libsanitizer/hwasan > and inform glibc that LAM is enabled. The rest of functions in > are used to make memmove and memmove > tests LAM compatible. We can move them to internal header files. ok. libc internal api is a different story, i thought you expect hwasan to use tag_address, get_tagged_address_mask etc and that would affect hwasan code gen. if that's not the case then i don't think these apis should be exposed. > > so i think we don't need the tagged address representation > > related apis. we may need something __hwasan_init can call > > to set up os support. on aarch64 that's a prctl now, but a > > libc api would allow us to disable hwasan from glibc (e.g. > > if there are elf markings for incompatible dsos), i don't > > set_tagged_address_mask can be used to enable and disable > LAM/TBI. memmove needs to know if LAM/TBI is enabled or not > to work correctly. i'm not convinced memmove needs to know. if hwasan tags memory more fine grained than what is passed to memmove as single object then there can be issues in user code too with pointer diff calculations within that object. > > know if that makes sense (does hwasan have a fall back if > > there is no os support?). > > > > It is a hard error for hwasan if LAM/TBI isn't available. > > Thanks. i see.