On Tue, Jan 23, 2024 at 06:40:22PM -0600, Elizabeth Figura wrote: > +static int ntsync_create_sem(struct ntsync_device *dev, void __user *argp) > +{ > + struct ntsync_sem_args __user *user_args = argp; > + struct ntsync_sem_args args; > + struct ntsync_obj *sem; > + __u32 id; > + int ret; > + > + if (copy_from_user(&args, argp, sizeof(args))) > + return -EFAULT; > + > + if (args.count > args.max) > + return -EINVAL; No bounds checking on count or max? What's the relationship between count and max? Some sort of real documentation is needed here, the changelog needs to explain this. Or somewhere, but as-is, this patch series is pretty unreviewable as I can't figure out how to review it because I don't know what it wants to do. thanks, greg k-h