Skip to content
Snippets Groups Projects
Commit 847d7eaf authored by Wesley W. Terpstra's avatar Wesley W. Terpstra
Browse files

Don't allow crazy attaches

parent dfa8d28b
Branches
Tags
No related merge requests found
...@@ -39,8 +39,8 @@ eb_status_t eb_socket_attach(eb_socket_t socketp, eb_handler_t handler) { ...@@ -39,8 +39,8 @@ eb_status_t eb_socket_attach(eb_socket_t socketp, eb_handler_t handler) {
struct eb_socket* socket; struct eb_socket* socket;
struct eb_handler_address* address; struct eb_handler_address* address;
struct eb_handler_callback* callback; struct eb_handler_callback* callback;
uint64_t new_begin, new_end; eb_address_t new_begin, new_end;
uint64_t dev_begin, dev_end; eb_address_t dev_begin, dev_end;
/* Get memory */ /* Get memory */
addressp = eb_new_handler_address(); addressp = eb_new_handler_address();
...@@ -56,6 +56,10 @@ eb_status_t eb_socket_attach(eb_socket_t socketp, eb_handler_t handler) { ...@@ -56,6 +56,10 @@ eb_status_t eb_socket_attach(eb_socket_t socketp, eb_handler_t handler) {
new_begin = handler->device->wbd_begin; new_begin = handler->device->wbd_begin;
new_end = handler->device->wbd_end; new_end = handler->device->wbd_end;
/* Is the address range supported by our bus size? */
if (new_begin != handler->device->wbd_begin || new_end != handler->device->wbd_end)
return EB_ADDRESS;
/* Does it overlap out reserved memory range? */ /* Does it overlap out reserved memory range? */
if (new_begin < 0x4000) return EB_ADDRESS; if (new_begin < 0x4000) return EB_ADDRESS;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment