From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A95FAC5321E for ; Mon, 26 Aug 2024 09:57:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 166AB6B04CD; Mon, 26 Aug 2024 05:57:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 116D96B04CE; Mon, 26 Aug 2024 05:57:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF8C56B04D3; Mon, 26 Aug 2024 05:57:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id D1D466B04CD for ; Mon, 26 Aug 2024 05:57:31 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 810AE1A0E0C for ; Mon, 26 Aug 2024 09:57:31 +0000 (UTC) X-FDA: 82493944302.27.F3925C2 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf18.hostedemail.com (Postfix) with ESMTP id CA8171C0012 for ; Mon, 26 Aug 2024 09:57:29 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=zx2c4.com header.s=20210105 header.b=Ra8Bb8ep; dmarc=pass (policy=quarantine) header.from=zx2c4.com; spf=pass (imf18.hostedemail.com: domain of "SRS0=kq7x=PZ=zx2c4.com=Jason@kernel.org" designates 147.75.193.91 as permitted sender) smtp.mailfrom="SRS0=kq7x=PZ=zx2c4.com=Jason@kernel.org" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724666231; a=rsa-sha256; cv=none; b=pjpj1kHiRp17KhQHlLyIyj+zYIaCp/NVrNIxHVpNT5I4VNE1Ko4Qggx7CoGYyIqpLX9gL9 yGObL+hIaeQEOUI0QW+oS7UNvrVcMwvczKrmpnQi4uCJ1TzMCzU1KS49CYcVHx/bkk+0d6 tlmBo6z8sC7M9nCWL4JqDrpWk+EEw2A= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=zx2c4.com header.s=20210105 header.b=Ra8Bb8ep; dmarc=pass (policy=quarantine) header.from=zx2c4.com; spf=pass (imf18.hostedemail.com: domain of "SRS0=kq7x=PZ=zx2c4.com=Jason@kernel.org" designates 147.75.193.91 as permitted sender) smtp.mailfrom="SRS0=kq7x=PZ=zx2c4.com=Jason@kernel.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724666231; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=awbUvn+zcUaAMzrxEX5rtv3K5X2zJKdTxDK7qFVNC2A=; b=gUmSCC8dVsGh5Ec3s4LT1D8TwFdlanYSakwIQRT0Xsl0RkPFBxr1pWHXHtTIY5xaXMkM0s +iz1C0EkZU0K6sg/giTTKwqGIT9RnDN1S+HudaHJFXQkotMZtVNrWTX7h4RFIaQI8ghIO9 aSUSDsvMCwwxOBBuYK6IkCNHIhuO2XU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 1B05DA4213F; Mon, 26 Aug 2024 09:57:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0E668C4DDFF; Mon, 26 Aug 2024 09:48:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1724665691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=awbUvn+zcUaAMzrxEX5rtv3K5X2zJKdTxDK7qFVNC2A=; b=Ra8Bb8epvfQUmYF44p8hCwYUkMlgxSsvYepqJe39nrmzRZFcnxDHLnhWhQSSslCM/8qTGm rJoy82h0Gs73r3V0WNG+Y+HRCD3DemC+gvIEye0QFf8acyKnRI2qG/QH8beDx5lMQRczDQ B53l/X4IZqTFNqiIK/LddaNIyEDciAE= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 97e8236b (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 26 Aug 2024 09:48:11 +0000 (UTC) Date: Mon, 26 Aug 2024 11:48:01 +0200 From: "Jason A. Donenfeld" To: Thomas Gleixner Cc: Christophe Leroy , Michael Ellerman , Nicholas Piggin , Naveen N Rao , Andy Lutomirski , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Theodore Ts'o , Arnd Bergmann , Andrew Morton , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Vincenzo Frascino , Shuah Khan , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v2 06/17] vdso: Change getrandom's generation to unsigned long Message-ID: References: <525b48eb79978ddba2d1b8ee23b27bd6c5b0b4ee.1724309198.git.christophe.leroy@csgroup.eu> <7d58be73-a8e5-4ec7-bbdc-238b0c25c77b@csgroup.eu> <87v7znd3g4.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87v7znd3g4.ffs@tglx> X-Rspam-User: X-Rspamd-Queue-Id: CA8171C0012 X-Rspamd-Server: rspam01 X-Stat-Signature: 68swy4nedi3ysrahmjzq1cdpkxw35x5b X-HE-Tag: 1724666249-405989 X-HE-Meta: U2FsdGVkX18WOLd/XKtPYAcR3fsDMm9faB/qXVRs+Cg8zVV/uywRsTBr7YHm9klhG8lwRU16H+B5mNv1YsjlYTsYRY9fmq7SHg3xltdiyoT4v+o3GT/pl0PyeE/Ao0MXtjSNnOomKLF5PGZdD7bh8Lv4Mp0Ja6/AqNiaKvVFBAbzvtu8O6fkNKdkpZbzYrblcpainjQCT0pv+JCBH6J0hUlumCNh8B/sDdJCF6qdJkGboK9PKX2qYkgzUPoextF2G+OBqNO9B9kB/yaeBXCT7VojgtCpGqdmxBQvs93fv83nrAzSmrdWVIw6NHwCanOPWj8F/xtFY50s3gQy6b7iDj9X9RI7yF3wndGRxt/uE3FhAxYk4+E1rXjurrxE55Bbbi5kC8iEcE6FOC7XDrhRFMaerzGlaEHs8XjKTJCFNMgHtB+HTV9mogt4wtIB9i1aqd+IzVGUUzoIeJfkbogdLF6Mvvo4jssXpTTvVoMQq7RumkF/2vUZ30nOrniUchzxdvPWgvjIZj/huPHyyDMR7AyQdx/lLwzCt++OyKUxwUaN4tCQRW9iI0vcYalZVkPVdLexppS/qOwXs8cn90waLpD9Ki8yoV/utAept7kLJUwOltyoZmkt3UIHZx8AEr2aFxZqmCpxm434i+EdJ3vqjAnLq6u70MyTUOH4LN08X6fw3UogRZI61TSkdy/9NaOD0FNroK0sWnK3e1GdgoE5B70Q5Cd5eLyz22ZoN8CvorfxdoA62IpD9fTfF7/X5JVvuoXTVm8VLwshH6icc+gZCn00Rhtk7UBp+qGemPES/U2rmdfizBly7EpcxlSyZk+GX4meH/Fgde9iQgAlA5dKyfE/Jkugj+mJHmOggVZrjPoEaRh50qUQOT5JujuJ9a6ownHAuB47SpgwYHTu9jcs9om/b+Xk41OR17ehbVwweg2Hp5UdMyTUrPVlo8rlyFeWqyhmclY9tEy8o7NOdH/ moGM5r6H o5nFq+la3hmdYJzwtsyfyV4kno9A0EwL8jAI3ZSBTeAjJalVQtQF9TiAh1Qb8Jn8LvryXor1FsVU1x6Y00ubRdyvYolcIIOjKX2uKafSHihGnmaFFJSnbZe5O1BX2tcHP6pvHM2mAxHEqb27DCHLne/llOUuGgyoV9ESSxBMVqPDbh7J4uoBK99NCylHKG7kyo7/Lgo3u7Uh3MIzTQH2xxk69UDI4abk47fR+9sJI0V3xlxwQwoEy3qomU38nATxZ2ETeC9zUkAKb4bE7gwKeARvwB1eXmChHhzvmUsTw1KUOcHTOeG14Q/blWleGwnLuix10wCSP6MQYVvK+inYuK52FqvL15DwKOcls9lCfcmmF3gPQ7gr744sVPOqZBWBuU2lLCnt0poi8CEaK8WR1D4bbGZwJuMMYszmd/QEerqpaJASXNHZOWsK+5Fjv/OWDlnMVCu5PWTmLsE3jw1U0lbH+dDp7sKiqgyU1p14TuM1Ust95Q8ido03SyrSaJgQyC4RIZyCitXN0lIKRmVFzYtCSjg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Aug 26, 2024 at 11:43:39AM +0200, Thomas Gleixner wrote: > As explained before, there is no problem with store or load tearing on > 32bit systems because the generation counter is only 32bit wide. So the > obvious solution is to only update 32 bits on a 32bit kernel: > > --- a/drivers/char/random.c > +++ b/drivers/char/random.c > @@ -282,7 +282,7 @@ static void crng_reseed(struct work_stru > * is ordered with the write above to base_crng.generation. Pairs with > * the smp_rmb() before the syscall in the vDSO code. > */ > - smp_store_release(&_vdso_rng_data.generation, next_gen + 1); > + smp_store_release((unsigned long *)&_vdso_rng_data.generation, next_gen + 1); > #endif > if (!static_branch_likely(&crng_is_ready)) > crng_init = CRNG_READY; That seems like a pretty clean fix. > But that's a trivial fix compared to making VM_DROPPABLE work on 32-bit > correclty. :) My initial response too, and then I noticed he posted this: https://lore.kernel.org/all/315e3a268b165b6edad7dcb723b0d8a506a56c4e.1724309198.git.christophe.leroy@csgroup.eu/ If that's correct, maybe it's not so bad, at least here. I haven't yet looked into the details of it. Jason