diff
+ if (optlen < sizeof(u32)) {
+     err = -EINVAL;
+     break;
+ }
- if (copy_from_sockptr(&opt, optval, sizeof(u32))) {
+ if (copy_from_sockptr(&opt, optval, optlen)) {
