Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp21527rwd; Fri, 26 May 2023 14:17:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7t5xaWTkz4Ynk3xx2ncdAjquxc9MamgoF8Pv3kU11CF3exVDwdwHEPuZOiKa9AuXmoAF3n X-Received: by 2002:a17:90a:6c43:b0:255:67fc:551a with SMTP id x61-20020a17090a6c4300b0025567fc551amr3763609pjj.11.1685135839998; Fri, 26 May 2023 14:17:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685135839; cv=none; d=google.com; s=arc-20160816; b=Zw2JEi57AaJqZP5YvZzWiP9P9TjG3bSFmwmCM5eMWsNsYljWkEVkzq3AFjCaI6drvd yOfcOqv8v7AC5AnXJn7ySU35QRU+YG2JmEwKPb3XYmr/g7K/UK/lgZrWJGJPZYdNk4Us 8EGCqf/DveAw34Y19wDEZqusWIc9ytZAYcw3OnlUEfQQQZOZPJgydLBfIXfvKabjm2Z5 YBOSPQq62yi92880nPXKCnRP1U/Hixxf10hWIMPXNboCiqk6lKTl+WcbqOe1NiTAEHV4 B+WPnJ4j3qRvLsMpJySgaKPV1694LKFMFYzwabEega35jguFF/Lc2bqaCZN1dtbcGTCl 5xRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=7YP3yyXP3BrPlOcLWQwfs7ftvYdUlxaat2PcZaN8PaI=; b=aeWaUwZrrD8iv6BomOJhEiwMYzEnxi1AbU31j14xj5sjWRXvupp8Z685Ocl1Dh+N78 T6tJMtLu/BjOS/kW5BgoBFdycMr85w1IOXx3JJ2A9ACkUscNWarQQaZYI3hS05I/hMwj aAF28s3pOHfBWJHOVplS+dKCDmb5SC7+kMznEcdpcHfzrOBo3dMWtBKE5B4vKRQ7Shxu zWSyr38uczfpYJziy3Ur4hFGsm2YlKQl8cnKPsm4O8eB31cuks+Y30xzkENBEiCCOXip Rr1iSEK4zRWDoHogZhwl2YrUPU2nhN7fb3mnJVWJhzDPokFVIU6Kg5ezRSiJ4gnaSrbt LYjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=RbRIdItk; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6-20020a17090ae38600b002535f1d4bfasi4825972pjz.166.2023.05.26.14.16.42; Fri, 26 May 2023 14:17:19 -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; dkim=pass header.i=@gmail.com header.s=20221208 header.b=RbRIdItk; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231146AbjEZVLC (ORCPT + 99 others); Fri, 26 May 2023 17:11:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34068 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229570AbjEZVLB (ORCPT ); Fri, 26 May 2023 17:11:01 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D5FFD9 for ; Fri, 26 May 2023 14:11:00 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-64f47448aeaso1082179b3a.0 for ; Fri, 26 May 2023 14:11:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685135459; x=1687727459; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7YP3yyXP3BrPlOcLWQwfs7ftvYdUlxaat2PcZaN8PaI=; b=RbRIdItk3rmUWpwAwHhkJBkxJ7HNbzZYOvHUAlEgyDRDkzzXl6tEVqCWjaDWGvqVT4 HW7ZQd7F+HR2d1PvqI+BwzbMXiy7vMs2/kZQvXwktCc+fre+9ThkPR3Vdbpf5YohD7Oe +7E/iI/sQzQ0U0VQm4X9Gaa0O8UNWmL3U9cklc363aIFhpg6/LBP4X5QI2NsOWRwmLxT Netj9ErUJG/yyiMRywzrPT+7YBoYupGZ/UE69oS1zfbSki+eotLwHIVCW9aWR4HtFwWV By1NhjUsGxAjPGso+7SlngXob7cteFyQqJg6MD5mxFVKQFwXEGqLdvJ21wlJlAa5FAO1 yMQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685135459; x=1687727459; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7YP3yyXP3BrPlOcLWQwfs7ftvYdUlxaat2PcZaN8PaI=; b=BhhTBiUVpfAHXJ43bpOkj0tOlwgEmFCSWemv4akYFEgxEAtdUI54z/RpmEPKyrtkLR JilLRP4oRpukVoZkZ2nZsNlRahZP+L/UZbUe1lGsURVFc+lS6ApyL4BqzkRKvQF91QXo c7QbEmceqW53LMznhwtWyHZ304w8REzDyGtrABP4CLzR0twhA1VBnHUKljdlZ7IoNQrj 6oRp45YZnYU0cIx39rUfT+p75nhGgE/IoRalGHpayAnTlrUgeOaagD5fuH8x9dGpAfgd 6ZAv3oPdu7ab+N+JN3PKlPsKBoxRXlj0WFZs8oPMr7Ij3z2QcyTaSWwDmHsGNatKkoGC Tgxg== X-Gm-Message-State: AC+VfDyelEaDuObHdh2sbvBIIm0PxaGEAiw4wsUhZmKPteKdJcF7L9O0 lvcO7wLUMfCW8UlGPWqHncQ= X-Received: by 2002:a05:6a20:72a4:b0:104:45df:42db with SMTP id o36-20020a056a2072a400b0010445df42dbmr945333pzk.9.1685135459065; Fri, 26 May 2023 14:10:59 -0700 (PDT) Received: from smtpclient.apple ([66.170.99.95]) by smtp.gmail.com with ESMTPSA id h29-20020a63531d000000b0051afa49e07asm3121733pgb.50.2023.05.26.14.10.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 May 2023 14:10:58 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: [PATCH v2] x86/lib: Do not use local symbols with SYM_CODE_START_LOCAL() From: Nadav Amit In-Reply-To: <20230526204559.GAZHEahxxnQaHhSUul@nazgul.local> Date: Fri, 26 May 2023 14:10:47 -0700 Cc: Dave Hansen , Jiri Slaby , Thomas Gleixner , Ingo Molnar , Dave Hansen , X86 ML , LKML Content-Transfer-Encoding: quoted-printable Message-Id: References: <20230525184244.2311-1-namit@vmware.com> <38e24fd4-9213-229d-9919-7ae3bfb113bb@intel.com> <24E47178-C177-425F-A8EF-CFFAE22597D4@gmail.com> <20230526155336.GAZHDWAFi1FRqq83TP@nazgul.local> <0F07EEDB-8A3F-4224-9FF1-43A5300B1B8B@gmail.com> <20230526204559.GAZHEahxxnQaHhSUul@nazgul.local> To: Borislav Petkov X-Mailer: Apple Mail (2.3731.500.231) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 > On May 26, 2023, at 1:45 PM, Borislav Petkov wrote: >=20 > On Fri, May 26, 2023 at 10:29:29AM -0700, Nadav Amit wrote: >> Can you give me some examples for code whose address cannot be mapped >> back to a symbol? >=20 > No, this is not what I'm talking about. >=20 > I'm talking about all the local labels the compiler uses. For example: >=20 > $ make kernel/sched/core.s > $ grep -E "^\.L" kernel/sched/core.s | wc -l > 2799 >=20 > All those local labels are not in the symbol table (get discarded) and > the addresses they represent are shown as belonging to the containing > function. Right. But the symbols I mentioned are not contained in any other = symbol. If you run gdb and try to disasm this bad_get_user_clac (its address), you=E2=80=99d currently get "No function contains specified address=E2=80=9D= . That what makes these 2 symbols different than the others. >=20 >> I did not ask to make them global. Just to keep them as local after >> linkage in the executable, like all other functions in the kernel. >=20 > Ok, not global. But local and present in the symbol table: >=20 > 105185: ffffffff81b89330 17 NOTYPE LOCAL DEFAULT 1 = bad_get_user_clac >=20 > And again, this helps how exactly? Allowing debuggers, tracers, disassemblers and instrumentation tools to work the same way they work as they work with any other piece of code in the kernel. I personally work on code instrumentation and this makes my life hard = for no good reason. [ Perhaps the question should go the other way around: why addresses of code in these functions should not be mapped to any symbol? ]