hc
2024-02-20 e636c8d336489bf3eed5878299e6cc045bbad077
kernel/kernel/bpf/cgroup.c
....@@ -1516,7 +1516,7 @@
15161516 goto out;
15171517 }
15181518
1519
- if (ctx.optlen > max_optlen || ctx.optlen < 0) {
1519
+ if (optval && (ctx.optlen > max_optlen || ctx.optlen < 0)) {
15201520 ret = -EFAULT;
15211521 goto out;
15221522 }
....@@ -1530,8 +1530,11 @@
15301530 }
15311531
15321532 if (ctx.optlen != 0) {
1533
- if (copy_to_user(optval, ctx.optval, ctx.optlen) ||
1534
- put_user(ctx.optlen, optlen)) {
1533
+ if (optval && copy_to_user(optval, ctx.optval, ctx.optlen)) {
1534
+ ret = -EFAULT;
1535
+ goto out;
1536
+ }
1537
+ if (put_user(ctx.optlen, optlen)) {
15351538 ret = -EFAULT;
15361539 goto out;
15371540 }