Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp833549rdg; Fri, 11 Aug 2023 00:47:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUrYKMGucT4dK8hWJtUdJBrxys8YtN8XLrO5cQibsFqHqIgQk5mUa/G+PoRq6vlOs6d+D7 X-Received: by 2002:a05:6a00:24c6:b0:687:7daf:2a2f with SMTP id d6-20020a056a0024c600b006877daf2a2fmr1195306pfv.28.1691740041394; Fri, 11 Aug 2023 00:47:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691740041; cv=none; d=google.com; s=arc-20160816; b=jzILXmRRpzOf9023zqXHxI04t6bvbkO9gs4RtYb6hn9PpyO+2qd0PY+CWLPjVDtor0 vwKdHrqBsp+k6JYnmNHZFRkVGjK/Cie1k6jlovrNOElZJL6nwE0gaI/PxUB7AnHbmxql ZeGCCGKLGKgrnJ1ZzIOgG18ZBGvMMMKO2FwhEWVXqXNYPMuXrHFVrhKV2XAD1ssteX6F 8EF07mk0pYgDON5bpHbyB/gwZVFKsIQ5J3JMxwcjkbWgLtKmAftHh4vlQ+9a4Llwgqbg fIMC2MzjFTk9J8Ipl68BPZIOod5V9XyOE7N5L2cGkGb3sihRu3HtfXYE2ip92QBfKCbv b4vg== 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 :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:from:subject; bh=EMVBbyzZ0pB67hwzOoEsTXqfFD5QLXr5/oChfGrybKk=; fh=BspGt6wlc0fB4JCjEjbsMqa7GO+slQPXypkmbQQWqKE=; b=kch1NgyVtHYQVYMfD0xgMV2XowcHARWgGq5BNvzXPc/ndPua9yrcf01LOLe3h3njIO s7kZIb2RlkWm5g0PqrgdDkvbWj1emQNmpcF80zr8MxZmlp+by2oCR/pBe+877nHZMa1I fycRclT2tREnDbhtkI/0gflHZSHPNe3aokDDBZdPFmvK/m0mQT/WrgsiZFfECZxC4Lmk BYS4ztOJCnL2DkVPj0lgsjzi95eDZgWUiKIHrRa5FBP4mVVtSO4nA+qnb9OAWTdOpybW zNvR4E8LjkEZmxM0VDnOlixa4+CVF39kfm7vyaZSMWuaCOurZb1aDOK8w3zd/A2vqHrc GAkA== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w8-20020a63f508000000b0056520b60aa9si2943651pgh.278.2023.08.11.00.47.02; Fri, 11 Aug 2023 00:47:21 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233793AbjHKHbZ (ORCPT + 99 others); Fri, 11 Aug 2023 03:31:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233816AbjHKHbX (ORCPT ); Fri, 11 Aug 2023 03:31:23 -0400 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2D2330D6 for ; Fri, 11 Aug 2023 00:31:14 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4RMb7c5Qpgz4f3lw2 for ; Fri, 11 Aug 2023 15:31:08 +0800 (CST) Received: from [10.174.178.55] (unknown [10.174.178.55]) by APP4 (Coremail) with SMTP id gCh0CgAXp6m+49VkYlvGAQ--.19079S3; Fri, 11 Aug 2023 15:31:11 +0800 (CST) Subject: Re: [PATCH 2/2] hexdump: add a new dump prefix DUMP_PREFIX_ADDRESS_LOW16 From: "Leizhen (ThunderTown)" To: Sergey Senozhatsky Cc: Steven Rostedt , Petr Mladek , John Ogness , linux-kernel@vger.kernel.org, Zhen Lei References: <20230805072116.1260-1-thunder.leizhen@huaweicloud.com> <20230805072116.1260-3-thunder.leizhen@huaweicloud.com> <20230807211409.750c17a5@gandalf.local.home> <73d10b7f-3cba-6897-0ff8-7759ef39a908@huaweicloud.com> <319df959-5be9-66c5-680f-4a5ae59019b9@huaweicloud.com> <20230809041057.GB681074@google.com> Message-ID: Date: Fri, 11 Aug 2023 15:31:09 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CM-TRANSID: gCh0CgAXp6m+49VkYlvGAQ--.19079S3 X-Coremail-Antispam: 1UD129KBjvJXoW7KryrJF13uryrZr13Zr4fZrb_yoW8tFW8pF y5KF1DKFWkW3yDJa1xtryDGr1Ykry5Ca45Wr90kryUCrZ0q3yDKr18GryfCr1DZrWFv3W7 JrnFyr1avF1Uuw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkjb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k2 6cxKx2IYs7xG6r1S6rWUM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4 vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7Cj xVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x 0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG 6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFV Cjc4AY6r1j6r4UM4x0Y48IcVAKI48JMxk0xIA0c2IEe2xFo4CEbIxvr21l42xK82IYc2Ij 64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x 8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE 2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42 xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07UWE__UUUUU= X-CM-SenderInfo: hwkx0vthuozvpl2kv046kxt4xhlfz01xgou0bp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE 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 2023/8/9 15:05, Leizhen (ThunderTown) wrote: > > > On 2023/8/9 12:10, Sergey Senozhatsky wrote: >> On (23/08/08 15:52), Leizhen (ThunderTown) wrote: >>>>> I find the "before" much easier to read than the "after". >>> >>> I added the boot option no_hash_pointers, so "before" can print the >>> address. Otherwise, just print the 32-bit hash value, as shown below: >> >> >>> [ 14.872153] dump memory at sp=ffff800080903aa0: >> >> This line is not guaranteed to be printed. If you get >> "** N printk messages dropped **" instead then the >> ADDRESS_LOW16 math doesn't work. I have a new idea. Replace DUMP_PREFIX_ADDRESS_LOW16 with DUMP_PREFIX_CUSTOM. Let the user to specify the format string. For example: pr_info("dump memory at sp=%px:\n", sp); print_hex_dump(KERN_INFO, "%s%16hx: %s\n", DUMP_PREFIX_CUSTOM, 16, 1, sp, 16, false); print_hex_dump(KERN_INFO, "%s%16x: %s\n", DUMP_PREFIX_CUSTOM, 16, 1, sp, 16, false); print_hex_dump(KERN_INFO, "%s%px: %s\n", DUMP_PREFIX_CUSTOM, 16, 1, sp, 16, false); dump memory at sp=ffff80008091baa0: baa0: c0 ba 91 80 00 80 ff ff d4 38 16 ce fc a7 ff ff 8091baa0: c0 ba 91 80 00 80 ff ff d4 38 16 ce fc a7 ff ff ffff80008091baa0: c0 ba 91 80 00 80 ff ff d4 38 16 ce fc a7 ff ff > > Anyone is vulnerable in the face of nature. Even DUMP_PREFIX_ADDRESS, > without the preface, no one know what's dumped. In any case, > DUMP_PREFIX_ADDRESS_LOW16 has its own unique value in this ecosystem. > The only regret is that it has a slightly longer name than others. > Maybe it could be DUMP_PREFIX_ADDRLOW or something. > > By the way, would you consider changing %p to %px in case DUMP_PREFIX_ADDRESS? > >> >>> Actually, I added DUMP_PREFIX_ADDRESS_LOW16 because of another scene: >>> slab kmalloc-512 start ffff3b3c0094e800 pointer offset 168 size 512 >>> e888: 00400000 00000000 000f7704 00000000 >>> e898: 000f7704 00000000 12345678 00000000 >>> e8a8: 00000000 00000000 00000000 00000000 >>> e8b8: 9abcdef0 00000000 00507dd0 00000000 >>> >>> Here, the start address ffff3b3c0094e800 of slab object is printed by %px, >>> the address of the error data is at p=ffff3b3c0094e8a8 = ffff3b3c0094e800 + offset 168. >>> To locate the problem, dump up to 64 bytes centered on 'p'. >> . >> > -- Regards, Zhen Lei