From 8b536c2be04a3220811d92f3d10c8f56b54bde86 Mon Sep 17 00:00:00 2001 From: xuyong Date: Fri, 19 May 2023 15:26:16 +0800 Subject: [PATCH] hievent&hilog: handle return value of wait_event_interruptible function ohos inclusion category:bugfix issue:#I73SXP CVE: NA Signed-off-by: xuyong --- drivers/staging/hievent/hievent_driver.c | 7 ++++++- drivers/staging/hilog/hilog.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/staging/hievent/hievent_driver.c b/drivers/staging/hievent/hievent_driver.c index a4b02b737213..477920dec00b 100644 --- a/drivers/staging/hievent/hievent_driver.c +++ b/drivers/staging/hievent/hievent_driver.c @@ -136,12 +136,17 @@ static int hievent_read_ring_head_buffer(unsigned char * const buffer, static ssize_t hievent_read(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) { + int rc; size_t retval; struct hievent_entry header; (void)file; - wait_event_interruptible(hievent_dev.wq, (hievent_dev.size > 0)); + rc = wait_event_interruptible(hievent_dev.wq, (hievent_dev.size > 0)); + if (rc) { + retval = -EINVAL; + goto out; + } (void)mutex_lock(&hievent_dev.mtx); diff --git a/drivers/staging/hilog/hilog.c b/drivers/staging/hilog/hilog.c index b641190431b0..6a47dc1985a2 100644 --- a/drivers/staging/hilog/hilog.c +++ b/drivers/staging/hilog/hilog.c @@ -143,11 +143,16 @@ static int hilog_read_ring_head_buffer(unsigned char *buffer, size_t buf_len) static ssize_t hilog_read(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) { + int rc; size_t retval; struct hilog_entry header; (void)file; - wait_event_interruptible(hilog_dev.wq, (hilog_dev.size > 0)); + rc = wait_event_interruptible(hilog_dev.wq, (hilog_dev.size > 0)); + if (rc) { + retval = -EINVAL; + goto out; + } (void)mutex_lock(&hilog_dev.mtx); -- Gitee