There's user-visible misbehavour in sys_write(): when user tries to putdown to disk some data, which crosses boundary of existing memory, sys_write()either immediately returns with EFAULT or writes first page(s).

Next 2 patches make sys_write()'s behaviour more consistent: it tries nowto write down all what it can.