Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20: fixup! UPSTREAM: fork: extend clone3() to support setting a PID arm64: configs: vendor: Enable CONFIG_USB_USBNET on bengal arm64: configs: vendor: Enable CONFIG_USB_USBNET on lito Change-Id: I9c93eb6b97c2e3fbc4ae8ddaab1368a79eed00ab
This commit is contained in:
3 files changed
+23
No files matched your search
@@ -337,6 +337,7 @@ CONFIG_PPP_ASYNC=y
|
||||
CONFIG_PPP_SYNC_TTY=y
|
||||
CONFIG_USB_RTL8150=y
|
||||
CONFIG_USB_RTL8152=y
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC=y
|
||||
CONFIG_CLD_LL_CORE=y
|
||||
CONFIG_CNSS_GENL=y
|
||||
|
||||
@@ -330,6 +330,7 @@ CONFIG_PPP_ASYNC=y
|
||||
CONFIG_PPP_SYNC_TTY=y
|
||||
CONFIG_USB_RTL8150=y
|
||||
CONFIG_USB_RTL8152=y
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_WCNSS_MEM_PRE_ALLOC=y
|
||||
CONFIG_CLD_LL_CORE=y
|
||||
CONFIG_CNSS_GENL=y
|
||||
|
||||
@@ -2575,6 +2575,27 @@ noinline static int copy_clone_args_from_user(struct kernel_clone_args *kargs,
|
||||
if (unlikely(!access_ok(VERIFY_READ, uargs, size)))
|
||||
return -EFAULT;
|
||||
|
||||
if (size > sizeof(struct clone_args)) {
|
||||
unsigned char __user *addr;
|
||||
unsigned char __user *end;
|
||||
unsigned char val;
|
||||
|
||||
addr = (void __user *)uargs + sizeof(struct clone_args);
|
||||
end = (void __user *)uargs + size;
|
||||
|
||||
for (; addr < end; addr++) {
|
||||
if (get_user(val, addr))
|
||||
return -EFAULT;
|
||||
if (val)
|
||||
return -E2BIG;
|
||||
}
|
||||
|
||||
size = sizeof(struct clone_args);
|
||||
}
|
||||
|
||||
if (copy_from_user(&args, uargs, size))
|
||||
return -EFAULT;
|
||||
|
||||
if (unlikely(args.set_tid_size > MAX_PID_NS_LEVEL))
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
Reference in new issue
Block a user