summaryrefslogtreecommitdiffhomepage
path: root/device.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-12-04 20:16:49 +0100
committerFelix Fietkau <nbd@openwrt.org>2011-12-04 20:16:52 +0100
commita6baf95e700f1abe8dafe71f5f8722baea6b6ac2 (patch)
tree900da16fa2c9c762759d3ed6745d1e9b3b640342 /device.h
parent8d18904bc241fef09ad6e8b7c2e1f93a4b4bb082 (diff)
fix use-after-free on device free codepath due to recursion issues, and fix dev->parent refcounting issues
Diffstat (limited to 'device.h')
-rw-r--r--device.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/device.h b/device.h
index 0d9e6f4..c0b112d 100644
--- a/device.h
+++ b/device.h
@@ -148,12 +148,7 @@ void device_release(struct device_user *dep);
int device_check_state(struct device *dev);
void device_dump_status(struct blob_buf *b, struct device *dev);
-static inline void
-device_free(struct device *dev)
-{
- dev->type->free(dev);
-}
-
+void device_free(struct device *dev);
void device_free_unused(struct device *dev);
struct device *get_vlan_device_chain(const char *ifname, bool create);