summaryrefslogtreecommitdiff
path: root/kernel/watchdog_hld.c
diff options
context:
space:
mode:
authorMatthias Kaehlcke <mka@chromium.org>2022-01-10 10:47:37 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-01 17:27:07 +0100
commitdaf9ac79e75b1e396c3c4f2113d5344e3ce27dcb (patch)
tree9afdd2f27b6ae25c220b3b3d1fdd086a52f5bfe7 /kernel/watchdog_hld.c
parent85aba11a8ea92a8eef2de95ebbe063086fd62d9c (diff)
rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev
commit 7a534ae89e34e9b51acb5a63dd0f88308178b46a upstream. struct rpmsg_eptdev contains a struct cdev. The current code frees the rpmsg_eptdev struct in rpmsg_eptdev_destroy(), but the cdev is a managed object, therefore its release is not predictable and the rpmsg_eptdev could be freed before the cdev is entirely released. The cdev_device_add/del() API was created to address this issue (see commit '233ed09d7fda ("chardev: add helper function to register char devs with a struct device")'), use it instead of cdev add/del(). Fixes: c0cdc19f84a4 ("rpmsg: Driver for user space endpoint interface") Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20220110104706.v6.2.Idde68b05b88d4a2e6e54766c653f3a6d9e419ce6@changeid Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/watchdog_hld.c')
0 files changed, 0 insertions, 0 deletions