From nobody Tue Dec 2 02:06:42 2025 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B76D336CDF0 for ; Thu, 20 Nov 2025 15:22:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763652136; cv=none; b=OUJQQfH1mJgr9Fuu/wf3YRpYpuGmjNil9NnO+vMB/a1ntZ6B0KhtoMlXFkMOzknPPXtRd94og4ss+vTaTKBWtjb56kerbfgpeTyuKPmIseet1N7oWNxy6nG4AgHeXz2sW6nLy/2U8f1mISTohrXtdBtd9gR46hTBZlfDKJ+ETX8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763652136; c=relaxed/simple; bh=6i9wyNhqOFWWngjT8KYDQjhuLYLHg4Vp188ljYoAL/4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MX47XmObLtvm0OFdX5qp7fsrhnrO7npRYJOp2etW8CvYQbTZjXlrG73jzRfFqhmO2hTruAWYj0iJycpRjsTRilwyTJ2Ma5MxVo8krIhUuF5CeNiBXjej1vSmqVJTDna57YzltvcufaFKyQYFRaxJuBC+PzmnzoIAW6sLYBkWvWU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=fKcwbqMt; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="fKcwbqMt" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-7acd9a03ba9so1139864b3a.1 for ; Thu, 20 Nov 2025 07:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1763652134; x=1764256934; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f8KDeSPboQyenPsR88PS7oH+E8JUyOLPtZOOBoNoQpo=; b=fKcwbqMt5yajV115c7lIH/xC73BJoY9KcDmK6vnpSYuiKp0rScnmzIQF2c6Gyg+X+r BLEPll733fLPWDQVXldKpP/84XN9ebdEcnbIAc3F0vhZKWdye0gm1ITZaxhifqelT1O4 wwYEVh5t2/iJ+nx7ld4XIFCEICzDSwja1UmGA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763652134; x=1764256934; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=f8KDeSPboQyenPsR88PS7oH+E8JUyOLPtZOOBoNoQpo=; b=gI/zja4kVL5oOYboq3VY/CodSJOomNdsmN0KuYQ5L+NNGeMob2ue6MoDtKJirO7/PX qfSpueIpEJDNrTP91Ksn1/PTrBLrHFgRXe/KRx6PALop7elMn2Vt0zjdtHPPYjDODoLw nUZnxkaJp8NhRV8UmHBACZjrdQpToUHe+XxVIjDt1DAHNnlmQzIcNdQ/Es9s10oXOHrB Z1fW3j5EOQyUbYRcLQo0Ju5tSgwUkLuJOx5R/vYT1MBoP6Qxtdi3XXX867vyHioQTx5L tZ62jHP9mwgIgUFz2k7wCScQ2EJ37EsUmp7bB1LN//KPdxaNqqh4Dj5IjaVR/qIKCfrr lQxw== X-Forwarded-Encrypted: i=1; AJvYcCX2pJLZqphXFgsmNYxh9Hh9dlfmX4V5eK4MRp1pyudQy3LZc7WtHQMOv2qcbbxerEaBzQA8NJvL6cKvfkI=@vger.kernel.org X-Gm-Message-State: AOJu0YwAOSQGHC3wqizjZo/FY0gn4p48Y7POWnODc9ESKJZwmh2GRjcW NxpA5EFyubMms7LbYU/mRjZiDNTBDwZrVr4i7GlSoZbLVx3J+vxd4ui0RXMdQ1oS7f6/lef+kjp ueeI= X-Gm-Gg: ASbGnctw9FUsIbaTCtI9lxIkAEKaM+Kh2TXEFSRJL1bUnssKdOmhsczGGI78SGu18At gVGi0CCb7buo0ZCT18c5DedlowS4f/2p+jGtCzFeFG4/6xXqLgpQCL9CXf6CMbBTNgtfUg9YK1r 4GD8Juys8+NJCgBuzyMJIclSrGyTlDrXRfzlveZfTxkmNVSIhEDd8HC2ATyK4C1K4btaZDVqXb3 cad3la12bobjxbdyjrZwYF2IODP++4JQPYOh2Ze8wE9aTe1GUvxI5opPB1dRSFO+RA8UDNqnUwL 1A/8F5Qi2SMJYddkPu+5u4WwWiOaEXZG9aWnKtakyaaWDJcV9/WrWWcOG+SzbDbLxV/RdKAiKTY yv8f3YuqibmHC4a/Gx0xPDvJJWUBMEGzcNdf7dxHinJWE26wbq6e/pdDtZdBOu3kYPCqUCorD+j yYip0YTsgbWt8/RXR6qaoEngH6wkRUjqstmhznHg== X-Google-Smtp-Source: AGHT+IG2i3ZVAyerpko0bG5HQErQy5GRVNKpfeYhSDmo+oadwIZX5NPw7Ys6zkScWliwVzH5YQeGVg== X-Received: by 2002:a05:6a00:3a0d:b0:7ab:6fdb:1d1f with SMTP id d2e1a72fcca58-7c3f7695779mr4532606b3a.29.1763652133881; Thu, 20 Nov 2025 07:22:13 -0800 (PST) Received: from tigerii.tok.corp.google.com ([2401:fa00:8f:203:6762:7dba:8487:43a1]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7c3f023f968sm3179642b3a.38.2025.11.20.07.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Nov 2025 07:22:13 -0800 (PST) From: Sergey Senozhatsky To: Andrew Morton , Minchan Kim , Yuwen Chen , Richard Chang Cc: Brian Geffon , Fengyu Lian , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, Sergey Senozhatsky Subject: [RFC PATCHv5 3/6] zram: take write lock in wb limit store handlers Date: Fri, 21 Nov 2025 00:21:23 +0900 Message-ID: <20251120152126.3126298-4-senozhatsky@chromium.org> X-Mailer: git-send-email 2.52.0.rc1.455.g30608eb744-goog In-Reply-To: <20251120152126.3126298-1-senozhatsky@chromium.org> References: <20251120152126.3126298-1-senozhatsky@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Write device attrs handlers should take write zram init_lock. While at it, fixup coding styles. Signed-off-by: Sergey Senozhatsky Reviewed-by: Brian Geffon --- drivers/block/zram/zram_drv.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 7904159e9226..71f37b960812 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -519,7 +519,8 @@ struct zram_wb_req { }; =20 static ssize_t writeback_limit_enable_store(struct device *dev, - struct device_attribute *attr, const char *buf, size_t len) + struct device_attribute *attr, + const char *buf, size_t len) { struct zram *zram =3D dev_to_zram(dev); u64 val; @@ -528,18 +529,19 @@ static ssize_t writeback_limit_enable_store(struct de= vice *dev, if (kstrtoull(buf, 10, &val)) return ret; =20 - down_read(&zram->init_lock); + down_write(&zram->init_lock); spin_lock(&zram->wb_limit_lock); zram->wb_limit_enable =3D val; spin_unlock(&zram->wb_limit_lock); - up_read(&zram->init_lock); + up_write(&zram->init_lock); ret =3D len; =20 return ret; } =20 static ssize_t writeback_limit_enable_show(struct device *dev, - struct device_attribute *attr, char *buf) + struct device_attribute *attr, + char *buf) { bool val; struct zram *zram =3D dev_to_zram(dev); @@ -554,7 +556,8 @@ static ssize_t writeback_limit_enable_show(struct devic= e *dev, } =20 static ssize_t writeback_limit_store(struct device *dev, - struct device_attribute *attr, const char *buf, size_t len) + struct device_attribute *attr, + const char *buf, size_t len) { struct zram *zram =3D dev_to_zram(dev); u64 val; @@ -563,11 +566,11 @@ static ssize_t writeback_limit_store(struct device *d= ev, if (kstrtoull(buf, 10, &val)) return ret; =20 - down_read(&zram->init_lock); + down_write(&zram->init_lock); spin_lock(&zram->wb_limit_lock); zram->bd_wb_limit =3D val; spin_unlock(&zram->wb_limit_lock); - up_read(&zram->init_lock); + up_write(&zram->init_lock); ret =3D len; =20 return ret; --=20 2.52.0.rc1.455.g30608eb744-goog