Merge "Merge "msm: kgsl: avoid zero length scatterlist allocation""
tcp: fix FIONREAD/SIOCINQ

tcp_ioctl() tries to take into account if tcp socket received a FIN
to report correct number bytes in receive queue.

But its flaky because if the application ate the last skb,
we return 1 instead of 0.

Correct way to detect that FIN was received is to test SOCK_DONE.

Reported-by: Elliot Hughes <enh@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Merge "Merge "Merge "msm: kgsl: avoid zero length scatterlist allocation"""
Merge "Merge "msm: kgsl: avoid zero length scatterlist allocation""
Merge "tcp: fix FIONREAD/SIOCINQ"
Merge "Merge "Merge "msm: kgsl: avoid zero length scatterlist allocation"""
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""
Merge "Merge "Merge "tcp: fix FIONREAD/SIOCINQ"""
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""
Merge "Merge "Merge "tcp: fix FIONREAD/SIOCINQ"""
Merge "radio: iris: Use kernel API to copy data from user space"
Merge "msm: kgsl: Protect against a potential overflow in kgsl_sg_alloc"
Merge "msm: kgsl: avoid zero length scatterlist allocation"
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""
Merge "Merge "Merge "tcp: fix FIONREAD/SIOCINQ"""
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""
Merge "Merge "Merge "tcp: fix FIONREAD/SIOCINQ"""
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""
Merge "Merge "Merge "tcp: fix FIONREAD/SIOCINQ"""
Merge "Merge "tcp: fix FIONREAD/SIOCINQ""