Using non-page-aligned buffers should raise EFI_INVALID_PARAMETER according to the spec. I would suspect the efipart_readwrite call just above this is not necessarily kosher, but I have not thought about it too much.
Actually yes, this change isn't correct. See https://github.com/tianocore/edk2/blob/master/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c for an example of how to allocate aligned memory (InternalAllocateAlignedPages etc.)
It is not just about an allocation; we actually should check ioalign property...
kevans: Im not sure when exactly I can look on it, also I 'm not sure about testing - does the qemu help me there?