zram: take write lock in wb limit store handlers
Write device attrs handlers should take write zram init_lock. While at it, fixup coding styles. Link: https://lkml.kernel.org/r/20251122074029.3948921-4-senozhatsky@chromium.org Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> Reviewed-by: Brian Geffon <bgeffon@google.com> Cc: Minchan Kim <minchan@google.com> Cc: Richard Chang <richardycc@google.com> Cc: Yuwen Chen <ywen.chen@foxmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
e828cccb72
commit
7c929664fd
|
|
@ -521,7 +521,8 @@ struct zram_wb_req {
|
|||
};
|
||||
|
||||
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 = dev_to_zram(dev);
|
||||
u64 val;
|
||||
|
|
@ -530,18 +531,19 @@ static ssize_t writeback_limit_enable_store(struct device *dev,
|
|||
if (kstrtoull(buf, 10, &val))
|
||||
return ret;
|
||||
|
||||
down_read(&zram->init_lock);
|
||||
down_write(&zram->init_lock);
|
||||
spin_lock(&zram->wb_limit_lock);
|
||||
zram->wb_limit_enable = val;
|
||||
spin_unlock(&zram->wb_limit_lock);
|
||||
up_read(&zram->init_lock);
|
||||
up_write(&zram->init_lock);
|
||||
ret = len;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
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 = dev_to_zram(dev);
|
||||
|
|
@ -556,7 +558,8 @@ static ssize_t writeback_limit_enable_show(struct device *dev,
|
|||
}
|
||||
|
||||
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 = dev_to_zram(dev);
|
||||
u64 val;
|
||||
|
|
@ -565,11 +568,11 @@ static ssize_t writeback_limit_store(struct device *dev,
|
|||
if (kstrtoull(buf, 10, &val))
|
||||
return ret;
|
||||
|
||||
down_read(&zram->init_lock);
|
||||
down_write(&zram->init_lock);
|
||||
spin_lock(&zram->wb_limit_lock);
|
||||
zram->bd_wb_limit = val;
|
||||
spin_unlock(&zram->wb_limit_lock);
|
||||
up_read(&zram->init_lock);
|
||||
up_write(&zram->init_lock);
|
||||
ret = len;
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue