```rs let rw_buffer = Box::new([0u8; align_size(NONPAGED_BUFFER_SIZE)]); let rw_buffer: Box<[u8; align_size(NONPAGED_BUFFER_SIZE)]> = unsafe { Box::new_uninit().assume_init() }; ``` Both of these fails. ExAllocatePool2 with the same size succeeds. Using alloc directly also succeeds: ```rs let rw_buffer: *mut u8 = unsafe { alloc(Layout::new::<[u8; align_size(NONPAGED_BUFFER_SIZE)]>()) }; ``` It's probably the cause I am not understanding something, but if that's so, I think it's important it's documented.