--- zzzz-none-000/linux-4.1.52/net/core/request_sock.c 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/net/core/request_sock.c 2022-03-02 11:37:13.000000000 +0000 @@ -38,7 +38,12 @@ EXPORT_SYMBOL(sysctl_max_syn_backlog); int reqsk_queue_alloc(struct request_sock_queue *queue, +#if !defined(CONFIG_BCM_MPTCP) || !defined(CONFIG_BCM_KF_MPTCP) unsigned int nr_table_entries) +#else + unsigned int nr_table_entries, + gfp_t flags) +#endif { size_t lopt_size = sizeof(struct listen_sock); struct listen_sock *lopt = NULL; @@ -49,11 +54,21 @@ lopt_size += nr_table_entries * sizeof(struct request_sock *); if (lopt_size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) +#if !defined(CONFIG_BCM_MPTCP) || !defined(CONFIG_BCM_KF_MPTCP) lopt = kzalloc(lopt_size, GFP_KERNEL | +#else + lopt = kzalloc(lopt_size, flags | +#endif __GFP_NOWARN | __GFP_NORETRY); if (!lopt) +#if !defined(CONFIG_BCM_MPTCP) || !defined(CONFIG_BCM_KF_MPTCP) lopt = vzalloc(lopt_size); +#else + lopt = __vmalloc(lopt_size, + flags | __GFP_HIGHMEM | __GFP_ZERO, + PAGE_KERNEL); +#endif if (!lopt) return -ENOMEM;