summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/0000-dde-protected-payloads.patch130
-rw-r--r--debian/patches/series1
2 files changed, 131 insertions, 0 deletions
diff --git a/debian/patches/0000-dde-protected-payloads.patch b/debian/patches/0000-dde-protected-payloads.patch
new file mode 100644
index 00000000..d85f88c7
--- /dev/null
+++ b/debian/patches/0000-dde-protected-payloads.patch
@@ -0,0 +1,130 @@
+diff --git a/devnode/mig-mutate.h b/devnode/mig-mutate.h
+index f692236..0656014 100644
+--- a/devnode/mig-mutate.h
++++ b/devnode/mig-mutate.h
+@@ -19,6 +19,8 @@
+
+ #define NOTIFY_INTRAN \
+ port_info_t begin_using_port_info_port (mach_port_t)
++#define NOTIFY_INTRAN_PAYLOAD \
++ port_info_t begin_using_port_info_payload
+ #define NOTIFY_DESTRUCTOR \
+ end_using_port_info (port_info_t)
+ #define NOTIFY_IMPORTS \
+diff --git a/eth-filter/mig-decls.h b/eth-filter/mig-decls.h
+index 0bb29a6..a3f700c 100644
+--- a/eth-filter/mig-decls.h
++++ b/eth-filter/mig-decls.h
+@@ -35,6 +35,12 @@ begin_using_device_port (mach_port_t port)
+ return ports_lookup_port (port_bucket, port, user_portclass);
+ }
+
++static inline struct proxy_user * __attribute__ ((unused))
++begin_using_device_payload (unsigned long payload)
++{
++ return ports_lookup_payload (port_bucket, payload, user_portclass);
++}
++
+ static inline void __attribute__ ((unused))
+ end_using_device (struct proxy_user *p)
+ {
+diff --git a/eth-filter/mig-mutate.h b/eth-filter/mig-mutate.h
+index 388ce09..5c6cde9 100644
+--- a/eth-filter/mig-mutate.h
++++ b/eth-filter/mig-mutate.h
+@@ -19,6 +19,8 @@
+
+ #define NOTIFY_INTRAN \
+ port_info_t begin_using_port_info_port (mach_port_t)
++#define NOTIFY_INTRAN_PAYLOAD \
++ port_info_t begin_using_port_info_payload
+ #define NOTIFY_DESTRUCTOR \
+ end_using_port_info (port_info_t)
+ #define NOTIFY_IMPORTS \
+@@ -26,6 +28,8 @@
+
+ #define DEVICE_INTRAN \
+ proxy_user_t begin_using_device_port (mach_port_t)
++#define DEVICE_INTRAN_PAYLOAD \
++ proxy_user_t begin_using_device_payload
+ #define DEVICE_DESTRUCTOR \
+ end_using_device (proxy_user_t)
+ #define DEVICE_IMPORTS \
+diff --git a/eth-multiplexer/mig-decls.h b/eth-multiplexer/mig-decls.h
+index a68e2ec..6ad9ebf 100644
+--- a/eth-multiplexer/mig-decls.h
++++ b/eth-multiplexer/mig-decls.h
+@@ -35,6 +35,12 @@ begin_using_device_port (mach_port_t port)
+ return ports_lookup_port (port_bucket, port, vdev_portclass);
+ }
+
++static inline struct vether_device * __attribute__ ((unused))
++begin_using_device_payload (unsigned long payload)
++{
++ return ports_lookup_payload (port_bucket, payload, vdev_portclass);
++}
++
+ static inline void __attribute__ ((unused))
+ end_using_device (struct vether_device *p)
+ {
+diff --git a/eth-multiplexer/mig-mutate.h b/eth-multiplexer/mig-mutate.h
+index 2403c29..55eca31 100644
+--- a/eth-multiplexer/mig-mutate.h
++++ b/eth-multiplexer/mig-mutate.h
+@@ -19,6 +19,8 @@
+
+ #define NOTIFY_INTRAN \
+ port_info_t begin_using_port_info_port (mach_port_t)
++#define NOTIFY_INTRAN_PAYLOAD \
++ port_info_t begin_using_port_info_payload
+ #define NOTIFY_DESTRUCTOR \
+ end_using_port_info (port_info_t)
+ #define NOTIFY_IMPORTS \
+@@ -26,6 +28,8 @@
+
+ #define DEVICE_INTRAN \
+ vether_device_t begin_using_device_port (mach_port_t)
++#define DEVICE_INTRAN_PAYLOAD \
++ vether_device_t begin_using_device_payload
+ #define DEVICE_DESTRUCTOR \
+ end_using_device (vether_device_t)
+ #define DEVICE_IMPORTS \
+diff --git a/libmachdev/mig-decls.h b/libmachdev/mig-decls.h
+index b3dc43d..8302029 100644
+--- a/libmachdev/mig-decls.h
++++ b/libmachdev/mig-decls.h
+@@ -34,6 +34,12 @@ begin_using_device_port (mach_port_t port)
+ return ports_lookup_port (device_bucket, port, dev_class);
+ }
+
++static inline struct mach_device * __attribute__ ((unused))
++begin_using_device_payload (unsigned long payload)
++{
++ return ports_lookup_payload (device_bucket, payload, dev_class);
++}
++
+ static inline void __attribute__ ((unused))
+ end_using_device (struct mach_device *p)
+ {
+diff --git a/libmachdev/mig-mutate.h b/libmachdev/mig-mutate.h
+index 56c6965..902ff16 100644
+--- a/libmachdev/mig-mutate.h
++++ b/libmachdev/mig-mutate.h
+@@ -19,6 +19,8 @@
+
+ #define NOTIFY_INTRAN \
+ port_info_t begin_using_port_info_port (mach_port_t)
++#define NOTIFY_INTRAN_PAYLOAD \
++ port_info_t begin_using_port_info_payload
+ #define NOTIFY_DESTRUCTOR \
+ end_using_port_info (port_info_t)
+ #define NOTIFY_IMPORTS \
+@@ -26,6 +28,8 @@
+
+ #define DEVICE_INTRAN \
+ mach_device_t begin_using_device_port (mach_port_t)
++#define DEVICE_INTRAN_PAYLOAD \
++ mach_device_t begin_using_device_payload
+ #define DEVICE_DESTRUCTOR \
+ end_using_device (mach_device_t)
+ #define DEVICE_IMPORTS \
diff --git a/debian/patches/series b/debian/patches/series
index 90fd6e49..6b9a37da 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -86,3 +86,4 @@ mach-defpager-fix-build.patch
0026-XXX-_reply-hack.patch
0027-XXX-i-broke-rpctrace.patch
0028-libports-Fix-build.patch
+0000-dde-protected-payloads.patch