preempt_notifier_unregister(&pwqt->notifier);
- if (is_wait && copy_from_user(&wait, arg, sizeof(wait))) {
- rc = -EFAULT;
- goto out;
+ if (is_wait) {
+ if (copy_from_user(&wait, arg, sizeof(wait))) {
+ rc = -EFAULT;
+ goto out;
+ }
+ if (unlikely((long)wait.pwqr_uaddr % sizeof(int) != 0)) {
+ rc = -EINVAL;
+ goto out;
+ }
}
pwqr_sb_lock_irqsave(sb, flags);