From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 1AAF14C17C for ; Wed, 5 Feb 2025 22:17:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E75BD68B990; Thu, 6 Feb 2025 00:17:38 +0200 (EET) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 625BE68B4EE for ; Thu, 6 Feb 2025 00:17:32 +0200 (EET) Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-543e4bbcd86so270628e87.1 for ; Wed, 05 Feb 2025 14:17:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20230601.gappssmtp.com; s=20230601; t=1738793851; x=1739398651; darn=ffmpeg.org; h=mime-version:references:message-id:in-reply-to:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=NCX6CenFcBqd2o+VomVN55vmXrnfHFC3T+AdWVKST/0=; b=VoRHCEni87RJFyXfk9ygH/dtLpDkeLV3CqtA3TzjvOIb8fCgOHyQc2LngJsffiWzhC ms2rbzXWkI1neV+GZsW5Yjl9FmPUdYhvh1OyDfOTstM4d2eFeK2lb6Xdk1amSqfiY/dO BntyXvLiE8leB/LpU0zwFH/vda77mN5aJEA5FJH+K189c/iZLU+OxY9V/kJfpFS3hs32 LO0e2Dxv+x/PmomC2LCDOOwfLNJXk9ye5/7cLr6xmAzHNYVeeNb+EMG+bHzb+oIVapt6 40W/hqaCRiPBU3OsK/A1yLrHr2Wmv+AO1z0MTFHcwvy8QM0JxpT0Xg9wmPTS658cfFaF uVqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738793851; x=1739398651; h=mime-version:references:message-id:in-reply-to:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NCX6CenFcBqd2o+VomVN55vmXrnfHFC3T+AdWVKST/0=; b=lKWh/OVPM/Qj41tNGsLjvvu7LSqNvQRDfiGCyz1Y3GhAyVRHZcnebgY8tkKF60MAes ilvCR/G034E6QNItilgRZpkIP+jf/+uYOAeuVOwiqmyFKt/6VxG8kx2GI3jvbZt0jGaU MTh0xTZo+Wm3D2Ty5z5X1HMUrLuMW7tHAGzreiLqcxX79o63cFHTTbRykMIGz3WPrrmp 11OJPjRZST0aogcwSHXASzujwpBw6MYIXeYK5RMc7r4glplYXMLWozdBFfKDMzpO910q Y0qyW5ouV6ucMHlfws2+ACyQlWSjWEi5yvkkBwocxtyi3B8ZDGIrkSMd2mInfveDb/qw du4Q== X-Gm-Message-State: AOJu0YyjqVT0TdIxDYwoUJUBk+nEPOLMHa5W8Ct1ntxkoLInMhnLK+wI tj1SClATAv17OzYfQk+zNPcLxj6UpdxhoQ1epuNQjupVaNy2IkC+l5vUok29cS8wBQTUUDX/wP1 XuA== X-Gm-Gg: ASbGnct1uLzNCKlT8qxRVeoO2C/d6nMlljMulzHHkmXN9WlyZqoB2Xp+s/1pJZMpJod 9gFG0m50qg0FazTPY1vJtJZInocy1Rvc7z8DDScFBO4cZcJ2e6a2hWnmi/7yp3hHUJUH1aMZ0/3 9NAFdMbceI6JNRHbUwFEYpgsrGLBPJYyMOjkfoagqrvP8qW0RVF/VH2/wF/m/QNqpM3ofuXfR5k OjtbipefQmHowbB9xoaiQXSX97sJbnmi0f34BVFfWzVHj20G2L67LtIuz0xxJPIUonvnjbBdHHI 4HI7kxO+quJPKDzRVpIWOykj5d+eM6EJnunBjPxDl0IYelpfvzyX1oqU32PetWaKVQFxYjMj5gT WieUFdc1PBUA= X-Google-Smtp-Source: AGHT+IHrimZjmfpbBHVfhi+RF/f9uWX41qKWcjyY2AmmY41WEPPe3W/ZS7In1Ho3QHXdEXL1ZS2RXA== X-Received: by 2002:a05:6512:ba6:b0:540:22e0:1f80 with SMTP id 2adb3069b0e04-54405a181c9mr1470573e87.20.1738793851385; Wed, 05 Feb 2025 14:17:31 -0800 (PST) Received: from tunnel335574-pt.tunnel.tserv24.sto1.ipv6.he.net (tunnel335574-pt.tunnel.tserv24.sto1.ipv6.he.net. [2001:470:27:11::2]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-543ebeb07absm1984487e87.156.2025.02.05.14.17.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 14:17:30 -0800 (PST) Date: Thu, 6 Feb 2025 00:17:30 +0200 (EET) From: =?ISO-8859-15?Q?Martin_Storsj=F6?= To: FFmpeg development discussions and patches In-Reply-To: <20250131013940.GF4991@pb2> Message-ID: <3b3a5c7-7e63-d6be-5b26-6a5fb9abfe4c@martin.st> References: <20250129095356.2010103-1-martin@martin.st> <20250131013940.GF4991@pb2> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH] random_seed: Limit the time taken by get_generic_seed X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Fri, 31 Jan 2025, Michael Niedermayer wrote: >> diff --git a/libavutil/random_seed.c b/libavutil/random_seed.c >> index 8a4e4f1fc0..8f969060a0 100644 >> --- a/libavutil/random_seed.c >> +++ b/libavutil/random_seed.c >> @@ -83,6 +83,7 @@ static uint32_t get_generic_seed(void) >> static uint32_t buffer[512] = { 0 }; >> unsigned char digest[20]; >> uint64_t last_i = i; >> + int cur_iters = 0; >> >> av_assert0(sizeof(tmp) >= av_sha_size); >> >> @@ -98,11 +99,13 @@ static uint32_t get_generic_seed(void) >> >> for (;;) { >> clock_t t = clock(); >> - if (last_t + 2*last_td + (CLOCKS_PER_SEC > 1000) >= t) { >> + if (last_t + 2*last_td + (CLOCKS_PER_SEC > 1000) >= t && cur_iters < 128) { >> last_td = t - last_t; >> buffer[i & 511] = 1664525*buffer[i & 511] + 1013904223 + (last_td % 3294638521U); >> + cur_iters++; >> } else { >> last_td = t - last_t; >> + cur_iters = 0; > > Iam concerned this could negatively impact entropy > The "else" should be run when a interrupt/task switch occured. > If that doesnt occur in 128 iterations that doesnt gurantee the entropy > has increased. > > If there are only 0 and 1, ideally we should look at the distribution and > go to the else when the pattern differs from the past / has some signs of > randomness Ok, I've somewhat tried to implement this, please take a look. // Martin _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".