diff --git a/20160425/chardev-1write.c b/20160425/chardev-1write.c index 71a07510c0dfb610dcded0baf00ffa20408a2b00..bff85170ae5012eb4bf8e82b690dd379e19ad262 100644 --- a/20160425/chardev-1write.c +++ b/20160425/chardev-1write.c @@ -189,16 +189,16 @@ device_write(struct file *filp, const char *buff, size_t len, loff_t * off) DEVICE_NAME, USERBUF_LEN); return -ENOMEM; //Return not enaugh memory - } - else { + } + else { int i; - for(i = 0; i < len; i++) {//Save the given string - if(get_user(msg_username[i], buff + i) < 0) { //If returning error code - printk(KERN_WARNING "%s: You want to play a trick on me! This memory does not belong to you!\n", - DEVICE_NAME); - return -EFAULT; //Stop reading from userspace. - } - + for(i = 0; i < len; i++) {//Save the given string + if(get_user(msg_username[i], buff + i) < 0) { //If returning error code + printk(KERN_WARNING + "%s: This memory does not belong to you!\n", + DEVICE_NAME); + return -EFAULT; //Stop reading from userspace. + } //msg_username[i] = buff[i]; //Heres was the CRASH //printk(KERN_INFO "Got %c at %d from %d bytes.\n", buff[i], i, len); }