Received: by 2002:a05:6a10:8a4d:0:0:0:0 with SMTP id dn13csp46048pxb; Thu, 12 Aug 2021 10:25:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/yHaL5HnrAAX4SzBQXocI88d6SIM8r7JgdsZMaOYo6mig/azTcpj2ys1d3LS50wp8ODm4 X-Received: by 2002:a17:906:1e42:: with SMTP id i2mr4856707ejj.76.1628789120250; Thu, 12 Aug 2021 10:25:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628789120; cv=none; d=google.com; s=arc-20160816; b=siFBGAz4Vw+izPkOl+YKnsjkkHljKEzUDstOMTbRQsL9VaftOozftDukkRflXhNamu UF4Q6gMtXegBIs2+rbBBdfZM3XD3eCTcef6FAI/eqztkWKL0ajcYUZuslD/b1I1g788l T+bSWocpLJDlp4rXfw1H5tygofAale5mQTNeqEkCy6LWzYXwG97uzxMIZqTPulAO3uBV +fb8ly74WgIQeFd/vX/MWwDq+k2j8DnfmTNxF0ng0gv1dOa38ZVQgQdhQdIFunffh/eX /f7PhiB0SwnzgmQRLmO2Ejq0qziZeCG7MfswfOCestotE7493MhToJGblmTTUH/0nVmE WjSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=oXJLqGsbjbztOhFHCEXEv+bvvg9cM4mN2IGxOOnjVfY=; b=mtyvOXNdxV8miZ9/zBNaqoPJaERxIqrebOJmdLy7orpLpH/ruw9W/fb7oApNTszfHT eSn8nt5q6mkGj5NvBhnrdCjS1QjNtHEqIy97BUVC7XglyHr54pitFKXc4sAYTNp3kn4s jlvycq8PeCj6vscJ92ZFq3bG6JuyhGJJQXXAd4yurJH4EZpUFISYP17c23TYgZ5MWY3y qKa9T/PXCnjQZnSUsGZ5yXrORLQQ4zQFauQ8/nigpkkQW3gqwU8hJJFrV2gEQo5fea5r clh9NYSVBOEq4z9ZLrdcBNcCIS2tWqv/w/faT7rshX0ZvcPI5KbzQOwFqxwcAzObYsj6 7QMQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lk15si2907691ejb.563.2021.08.12.10.24.56; Thu, 12 Aug 2021 10:25:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237760AbhHLOAl (ORCPT + 99 others); Thu, 12 Aug 2021 10:00:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:34290 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232351AbhHLOAj (ORCPT ); Thu, 12 Aug 2021 10:00:39 -0400 Received: from oasis.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 505C76104F; Thu, 12 Aug 2021 14:00:12 +0000 (UTC) Date: Thu, 12 Aug 2021 10:00:10 -0400 From: Steven Rostedt To: Yordan Karadzhov Cc: linux-trace-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Tom Zanussi , Daniel Bristot de Oliveira , Masami Hiramatsu Subject: Re: [PATCH 1/2] libtracefs: Add random number to keep synthetic variables unique Message-ID: <20210812100010.0f3922d1@oasis.local.home> In-Reply-To: <13bed3a6-7e39-eec2-2421-a80081302a81@gmail.com> References: <20210812005546.910833-1-rostedt@goodmis.org> <20210812005546.910833-2-rostedt@goodmis.org> <13bed3a6-7e39-eec2-2421-a80081302a81@gmail.com> X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 12 Aug 2021 11:34:57 +0300 Yordan Karadzhov wrote: > > @@ -957,7 +960,15 @@ static char *new_arg(struct tracefs_synth *synth) > > char *arg; > > int ret; > > > > - ret = asprintf(&arg, "__arg__%d", cnt); > > + /* Create a unique argument name */ > > + if (!synth->arg_name[0]) { > > + srand(time(NULL)); > > Nit: Have in mind that time(NULL) has 1 second resolution. Fast consecutive calls (within a second) of this function can > generate identical random numbers. > This can be mitigated if we do something like this: > > struct timeval now; > > gettimeofday(&now, NULL); > srand(now.tv_usec); So you are saying that if one thread created two synthetic events within a second, then this could give the same value. Yeah, I can see that could happen. I was hoping to avoid the declaring the "now" and calling gettimeofday(). Also, looking more into this, I see that rand() is not safe in thread context (it may not be a problem, but there's no guarantee), and perhaps we should just open code it, to be on the safe side. Thanks for the review. -- Steve