Skip to content

Commit 98eec34

Browse files
Chenghai Huanggregkh
authored andcommitted
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: e3e289f ("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>
1 parent a3bece3 commit 98eec34

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

drivers/misc/uacce/uacce.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,9 @@ static ssize_t isolate_strategy_show(struct device *dev, struct device_attribute
382382
struct uacce_device *uacce = to_uacce_device(dev);
383383
u32 val;
384384

385+
if (!uacce->ops->isolate_err_threshold_read)
386+
return -ENOENT;
387+
385388
val = uacce->ops->isolate_err_threshold_read(uacce);
386389

387390
return sysfs_emit(buf, "%u\n", val);
@@ -394,6 +397,9 @@ static ssize_t isolate_strategy_store(struct device *dev, struct device_attribut
394397
unsigned long val;
395398
int ret;
396399

400+
if (!uacce->ops->isolate_err_threshold_write)
401+
return -ENOENT;
402+
397403
if (kstrtoul(buf, 0, &val) < 0)
398404
return -EINVAL;
399405

0 commit comments

Comments
 (0)