The roadmap and the documentation for the
File Manager module states that the third input argument for BUFFERED READ should be the 'physical memory address' of the user variable to which the word is to be read into.
Problems may arise if the process gets swapped out-in while waiting for buffer/disk inside the file manager. During such a scenario, the word might be read into a wrong address if the memory pages for the user stack had changed during swapping.
Possible fix : Third input argument to BUFFERED READER can be the user's logical address. Address translation can be done inside BUFFERED READER just before writing the word into user space.