debugfs: fix error when writing negative value to atomic_t debugfs file
authorAkinobu Mita <akinobu.mita@gmail.com>
Mon, 19 Sep 2022 17:24:18 +0000 (02:24 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 1 Dec 2022 00:13:16 +0000 (16:13 -0800)
commitd472cf797c4e268613dbce5ec9b95d0bcae19ecb
tree6b6a908b74655875df07ff720829ed217bfacfe7
parentf883c3edd2c432a2931ec8773c70a570115a50fe
debugfs: fix error when writing negative value to atomic_t debugfs file

The simple attribute files do not accept a negative value since the commit
488dac0c9237 ("libfs: fix error cast of negative value in
simple_attr_write()"), so we have to use a 64-bit value to write a
negative value for a debugfs file created by debugfs_create_atomic_t().

This restores the previous behaviour by introducing
DEFINE_DEBUGFS_ATTRIBUTE_SIGNED for a signed value.

Link: https://lkml.kernel.org/r/20220919172418.45257-4-akinobu.mita@gmail.com
Fixes: 488dac0c9237 ("libfs: fix error cast of negative value in simple_attr_write()")
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Reported-by: Zhao Gongyi <zhaogongyi@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Wei Yongjun <weiyongjun1@huawei.com>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Documentation/fault-injection/fault-injection.rst
fs/debugfs/file.c
include/linux/debugfs.h