Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp101827rwi; Tue, 18 Oct 2022 14:47:34 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4rhHVjpQPizPT7i11RT41RcXnPXSNYaB3MoNqYE/U6O4WaIsnb414/QNEMibZs+nXOkrIv X-Received: by 2002:a17:906:770d:b0:73c:a08f:593c with SMTP id q13-20020a170906770d00b0073ca08f593cmr4329837ejm.182.1666129654193; Tue, 18 Oct 2022 14:47:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666129654; cv=none; d=google.com; s=arc-20160816; b=ppQ26exISDuy2IDCuWn1vYaubMAJS7ycMQeBQMq9g8WjABBDHo3l/JtXqE8Zxhk8m/ 4s8xDn7cQpsmT2hqCQ1ZqyWC+C4O8fyV6rKb9evxGgp1FAXe44ZOLezAnHS0RfimWXuv /1/OSX5PqQwzJKgq/YO9PJZzMA+3g+qU5EX6k4i1FzXy+12j+DWSiZZucH3NvNcYvE1c bZIElMsf5LoIj08xnaHejQfQgtEUqcUuEzYYqA1X5LElr43vuJX68XwSKbJUYHNM/eaA 5Uz60+iKOYCJduVOsezMjPKsvDsvZfhC4j017K6slQMFMtT2TTMRqMfxQz7JKgOoiRxD sr9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=RsbductMh2WckUrFqJ+4CJ3acsDhXrJbKsnY1NafMKI=; b=YHzAc7H8OCjKC+Tc1H4vdrVx0EXUAVLf8HKo/EXOxD4Ysl7fTQm1ECBWwYFsfYy8Xr mNpP7FMedHiJvcSz4XQEMQvfZnDT/X5m0qleFPiL6duXYTqoFQDllDSQo2dLsP/8BgFI ncXm9Cg+/H5PvgMFmIAEGfdg3vO9Ikd8yi9cQfguvzdqAaluRcuSST8joPqsr6v5trqG i5pqL7RTD7EYqW7iIDBKdaDdZJgfADx0Y5b1ZhwoKgRkd88H1BLdOpApYxZAa44XKAYP BBSXDvTfuUNskp57TQeZzVpw+VADR+LJmCZ9hat4nuvKj6iWa11Eq3shOi4IYgrXFgVW D+SA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xf13-20020a17090731cd00b00788361f96a2si14114147ejb.776.2022.10.18.14.47.08; Tue, 18 Oct 2022 14:47:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229914AbiJRV10 convert rfc822-to-8bit (ORCPT + 99 others); Tue, 18 Oct 2022 17:27:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229622AbiJRV1Y (ORCPT ); Tue, 18 Oct 2022 17:27:24 -0400 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 87FD27FFAC for ; Tue, 18 Oct 2022 14:27:21 -0700 (PDT) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-275-qOH_xBdJOBaF_O3VLLyPvA-1; Tue, 18 Oct 2022 22:27:17 +0100 X-MC-Unique: qOH_xBdJOBaF_O3VLLyPvA-1 Received: from AcuMS.Aculab.com (10.202.163.6) by AcuMS.aculab.com (10.202.163.6) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 18 Oct 2022 22:27:16 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.042; Tue, 18 Oct 2022 22:27:16 +0100 From: David Laight To: 'Joao Moreira' CC: 'Peter Zijlstra' , "x86@kernel.org" , Kees Cook , Sami Tolvanen , "linux-kernel@vger.kernel.org" , Mark Rutland , "Josh Poimboeuf" Subject: RE: [PATCH] x86/ibt: Implement FineIBT Thread-Topic: [PATCH] x86/ibt: Implement FineIBT Thread-Index: AQHY4vaTWxnEUTsnZEq6+EVM+oAeM64UOHoQgAAFvACAAGqpYA== Date: Tue, 18 Oct 2022 21:27:15 +0000 Message-ID: References: <9bb036e48580454b81e6de7224c5f006@AcuMS.aculab.com> <3edb387ea335085dcb6dd49f1d9c9ce6@overdrivepizza.com> In-Reply-To: <3edb387ea335085dcb6dd49f1d9c9ce6@overdrivepizza.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joao Moreira > Sent: 18 October 2022 16:58 > > > Does the hash value for kCFI only depend on the function type? > > Or is there something like a attribute that can also be included? > > Hi David -- does this sound like what you are asking about? > > https://github.com/ClangBuiltLinux/linux/issues/1736 > > If yes, then it is something in our todo list :) I think Sami is > handling it. That sort of thing. As well as helping restrict what can be called from where, with reasonable unique CFI hashes something like objtool can work out which functions are callable from which call sites. This should give the raw data than can be used for static stack-depth analysis. Possibly even the compiler could output the 'called function xxx at stack offset nnn' data. From some experience doing static stack depth analysis many years ago (on a code base that had no recursion and very few indirect calls) the result will be unexpected. I suspect the kernel stack is nothing like big enough for the worst case error path! David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)