On Monday 19 October 2015 14:58:20 Paul Osmialowski wrote: > + > +struct kmsg_cmd_buffer_add { > + size_t size; > + unsigned short mode; > + int minor; > +} __attribute__((packed)); > + > +#define KMSG_IOCTL_MAGIC 0xBB > + > +/* > Try to avoid using packed unaligned data structures. Here I would just use __u64 and __u32 members. > + case KMSG_CMD_BUFFER_ADD: > + if (copy_from_user(&size, argp, sizeof(size))) > + return -EFAULT; > + argp += sizeof(size); > + if (copy_from_user(&mode, argp, sizeof(mode))) > + return -EFAULT; This is a rather unusual way to access the data. Just copy the entire structure to the stack. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html