[UDP]: Fix reversed logic in udp_get_port().

When this code was converted to use sk_for_each() the
logic for the "best hash chain length" code was reversed,
breaking everything.

The original code was of the form:

size = 0;
do {
if (++size >= best_size_so_far)
goto next;
} while ((sk = sk->next) != NULL);
best_size_so_far = size;
best = result;
next:;

and this got converted into:

sk_for_each(sk2, node, head)
if (++size < best_size_so_far) {
best_size_so_far = size;
best = result;
}

Which does something very very different from the original.

Signed-off-by: David S. Miller <davem@davemloft.net>

+8 -5
+8 -5
net/ipv4/udp.c
··· 165 goto gotit; 166 } 167 size = 0; 168 - sk_for_each(sk2, node, head) 169 - if (++size < best_size_so_far) { 170 - best_size_so_far = size; 171 - best = result; 172 - } 173 } 174 result = best; 175 for(i = 0; i < (1 << 16) / UDP_HTABLE_SIZE; i++, result += UDP_HTABLE_SIZE) {
··· 165 goto gotit; 166 } 167 size = 0; 168 + sk_for_each(sk2, node, head) { 169 + if (++size >= best_size_so_far) 170 + goto next; 171 + } 172 + best_size_so_far = size; 173 + best = result; 174 + next: 175 + ; 176 } 177 result = best; 178 for(i = 0; i < (1 << 16) / UDP_HTABLE_SIZE; i++, result += UDP_HTABLE_SIZE) {