[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210818073824.1560124-9-desmondcheongzx@gmail.com>
Date: Wed, 18 Aug 2021 15:38:23 +0800
From: Desmond Cheong Zhi Xi <desmondcheongzx@...il.com>
To: maarten.lankhorst@...ux.intel.com, mripard@...nel.org,
tzimmermann@...e.de, airlied@...ux.ie, daniel@...ll.ch,
sumit.semwal@...aro.org, christian.koenig@....com, axboe@...nel.dk,
oleg@...hat.com, tglx@...utronix.de, dvyukov@...gle.com,
walter-zh.wu@...iatek.com
Cc: Desmond Cheong Zhi Xi <desmondcheongzx@...il.com>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
intel-gfx@...ts.freedesktop.org, linux-media@...r.kernel.org,
linaro-mm-sig@...ts.linaro.org, skhan@...uxfoundation.org,
gregkh@...uxfoundation.org,
linux-kernel-mentees@...ts.linuxfoundation.org,
kernel test robot <lkp@...el.com>
Subject: [PATCH v3 8/9] kernel: export task_work_add
The task_work_add function is needed to prevent userspace races with
DRM modesetting rights.
Some DRM ioctls can change modesetting permissions while other
concurrent users are performing modesetting. To prevent races with
userspace, such functions should flush readers of old permissions
before returning to user mode. As the function that changes
permissions might itself be a reader of the old permissions, we intend
to schedule this flush using task_work_add.
However, when DRM is compiled as a loadable kernel module without
exporting task_work_add, we get the following compilation error:
ERROR: modpost: "task_work_add" [drivers/gpu/drm/drm.ko] undefined!
Reported-by: kernel test robot <lkp@...el.com>
Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@...il.com>
---
kernel/task_work.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/task_work.c b/kernel/task_work.c
index 1698fbe6f0e1..90000404af2b 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
@@ -60,6 +60,7 @@ int task_work_add(struct task_struct *task, struct callback_head *work,
return 0;
}
+EXPORT_SYMBOL(task_work_add);
/**
* task_work_cancel_match - cancel a pending work added by task_work_add()
--
2.25.1
Powered by blists - more mailing lists