Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp5990742pxb; Mon, 14 Feb 2022 12:33:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJxHTxWZiA6q0lZ5VD54WnhonNZgpj1a79aFCegq4jK4TUTANpZSHIAF9Mg6hssBtPWR4SIa X-Received: by 2002:a17:90b:4b12:b0:1b9:8932:d47c with SMTP id lx18-20020a17090b4b1200b001b98932d47cmr514659pjb.50.1644870782925; Mon, 14 Feb 2022 12:33:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644870782; cv=none; d=google.com; s=arc-20160816; b=0DGdSeH0gvGnPlJ9uNjHb/ARmVv5QrvnWaFOGzxcx+OO6Ucy8YDZMUDNjjpaVjI5uB 8JCnGPNeREkUqr+HmehYOybutMarAY6sq9pmEedFIDcFL4ShNmHW3LU24bHPRfQ3vVr/ dZaghSER0bBUxE8BrA2f/cmZcO1m8NAtIV9AckPxkoSLxWF/tWCFhkOOrNq9rUWebtr4 TfcoLk45htYKFqv+OtMxX3x9RGhCqMhfa3/pp+dmlb/r1rxjE83bjh91DF/8hCJk2U1S rucbJHG10DhdX9iqU/t2vj9wRkeL7tKVdf60SOqokyx3rRQ05BomEY8p8/UnoViYCxQ5 2OnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=I63uXQLULxgIp+fxBBldhXZGMfrAe8iy9NyQfbBqJO0=; b=oBJwfGBCy0Goc6ekL+/c9gaeRMCcikOoynbeyBpU1pj4GAnpOTNPWtTLQ7Rd4FCmYQ BzjO2mPny9g00SSbVjfG4xoGjQzf5o9v4EbIyYdS1hI/Te2V2Es09N7gEMyItWbQGvVj udRT34Vcj0sXuLWOjX4KsSpgQAcpKLVPby6dmxoZMU533nv2cjqB38UK01CB/jRyKPLF 9rf1j+fScqkxmuk0Y++F/FcDOwaOYV89sI7nJdoBpWPiyxH4LbLMeTvVkXwtiUEmfVom sZvA4Kt4YCdCHuRq5VBLBIKDmSgdsJkRp3UdxAa1lB06U8YMe9b0Dy0Nsx/GCy3/G8+5 hc1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JZBkvSic; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id r10si699367pgb.354.2022.02.14.12.33.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Feb 2022 12:33:02 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JZBkvSic; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D8951148939; Mon, 14 Feb 2022 12:02:54 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352704AbiBNMMp (ORCPT + 99 others); Mon, 14 Feb 2022 07:12:45 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:47352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232654AbiBNMMn (ORCPT ); Mon, 14 Feb 2022 07:12:43 -0500 Received: from mail-il1-x130.google.com (mail-il1-x130.google.com [IPv6:2607:f8b0:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E490E48E7A; Mon, 14 Feb 2022 04:12:35 -0800 (PST) Received: by mail-il1-x130.google.com with SMTP id z18so12145848iln.2; Mon, 14 Feb 2022 04:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=I63uXQLULxgIp+fxBBldhXZGMfrAe8iy9NyQfbBqJO0=; b=JZBkvSicr6NtfK98ljz2alqvymXQ0GUvDMoAHYM8+T6uTTo6eGknpXg4G/hXbfa4J6 i9FjhKAXKmSxBx3kC/ZhkVWFWKA7jYsYruEVp5Dpei0Z/LMWn69PIt/6U9iBK4ryufb0 q/JP0zQ67doDCcrtc1OQxa6Tf+m4T03mKevIVCx6P2OvVIAEXvnhBzN5qnNMxc6NFAuN DgKMWnQW7JgwTvayVkKG2k+Gia6oL+OwF6BcLHs8Q7MlwEEJcH0W0zMKnu4iEO/pZa6h aiK3179PUSbIAY6rcmtq41FqJoXeTK9Q/QoUaz1MyM4T3QPUyVSTiSWqNO9TvqEOmvNi mxqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=I63uXQLULxgIp+fxBBldhXZGMfrAe8iy9NyQfbBqJO0=; b=GZs24v5ZusgtHU4kpxXAplTb9NVaFXh8tALqDof/VQPSJI2v44KXFX0opd8Q3m4RCQ +ahVWkFKuoG+MenPVbH0Yv7yFgtbWi4PvK1ZfhxPksn+smwK5CyyWdUziVmvHWj7MjU6 Dnhw3H5eTLCIMIIWoytQDTonW3Ky3tyy3YCaAIqpuTGrh3gy5XuslcDbN3NtqRGNIWqI JZq7BKU1EclYnxTKmE6DJDNuemRFao1FabDHv7WHkzn3jmPsOR05SBPV+RnPUqwKAbYr I5iwkIxFSmm6O/kO561QED7C5f4wGrPj4r9eaTHT5xI0bOxMWMPnfwwKk+pAsTb7Ml3J HYEg== X-Gm-Message-State: AOAM5312nIzJdqKhuToGNVdduA3B7x2JpLX8+UL6xyu9x+3/iiYezCeG kEBHu9R2JlKxA0+ckqtAdOeN7ik43qDfJq0cjJY= X-Received: by 2002:a92:c248:: with SMTP id k8mr3453071ilo.321.1644840755343; Mon, 14 Feb 2022 04:12:35 -0800 (PST) MIME-Version: 1.0 References: <20220212130410.6901-1-ojeda@kernel.org> <20220212130410.6901-13-ojeda@kernel.org> In-Reply-To: From: Miguel Ojeda Date: Mon, 14 Feb 2022 13:12:24 +0100 Message-ID: Subject: Re: [PATCH v4 12/20] vsprintf: add new `%pA` format specifier To: Rasmus Villemoes Cc: Andy Shevchenko , Miguel Ojeda , Linus Torvalds , Greg Kroah-Hartman , rust-for-linux , linux-kernel , Gary Guo , Alex Gaynor , Wedson Almeida Filho , Petr Mladek , Steven Rostedt , Sergey Senozhatsky Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 Mon, Feb 14, 2022 at 11:52 AM Rasmus Villemoes wrote: > > I think the point is for vsnprintf() to call (back) into Rust code. Indeed, this is the case. > That said, I don't like the !CONFIG_RUST version to return NULL, that > will surely crash moments later. > > So I prefer something like > > [rust.h] > // no CONFIG_RUST conditional > +char *rust_fmt_argument(char* buf, char* end, void *ptr); > > [vsprintf.c] > + case 'A': > + if (IS_ENABLED(CONFIG_RUST)) > + return rust_fmt_argument(buf, end, ptr); > + else > + return string_nocheck(buf, end, "[%pA in non-Rust > code?!]", default_str_spec); Sounds good. Or perhaps simply `break` and let it print the pointer (to be consistent with `g` case and non-error `e` case). Cheers, Miguel