mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
uacce: fix isolate sysfs check condition
uacce supports the device isolation feature. If the driver
implements the isolate_err_threshold_read and
isolate_err_threshold_write callback functions, uacce will create
sysfs files now. Users can read and configure the isolation policy
through sysfs. Currently, sysfs files are created as long as either
isolate_err_threshold_read or isolate_err_threshold_write callback
functions are present.
However, accessing a non-existent callback function may cause the
system to crash. Therefore, intercept the creation of sysfs if
neither read nor write exists; create sysfs if either is supported,
but intercept unsupported operations at the call site.
Fixes: e3e289fbc0 ("uacce: supports device isolation feature")
Cc: stable@vger.kernel.org
Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
Acked-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Link: https://patch.msgid.link/20251202061256.4158641-3-huangchenghai2@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a3bece3678
commit
98eec34925
|
|
@ -382,6 +382,9 @@ static ssize_t isolate_strategy_show(struct device *dev, struct device_attribute
|
|||
struct uacce_device *uacce = to_uacce_device(dev);
|
||||
u32 val;
|
||||
|
||||
if (!uacce->ops->isolate_err_threshold_read)
|
||||
return -ENOENT;
|
||||
|
||||
val = uacce->ops->isolate_err_threshold_read(uacce);
|
||||
|
||||
return sysfs_emit(buf, "%u\n", val);
|
||||
|
|
@ -394,6 +397,9 @@ static ssize_t isolate_strategy_store(struct device *dev, struct device_attribut
|
|||
unsigned long val;
|
||||
int ret;
|
||||
|
||||
if (!uacce->ops->isolate_err_threshold_write)
|
||||
return -ENOENT;
|
||||
|
||||
if (kstrtoul(buf, 0, &val) < 0)
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user