mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 22:05:08 +00:00
RDS: Do not send a pong to an incoming ping with 0 src port
RDS ping messages are sent with a non-zero src port to a zero dst port, so that the rds pong messages can be sent back to the originators src port. However if a confused/malicious sender sends a ping with a 0 src port, we'd have an infinite ping-pong loop. To avoid this, the receiver should ignore ping messages with a 0 src port. Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8315011ad6
commit
11bb62f7c0
@ -226,6 +226,10 @@ void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr,
|
||||
cp->cp_next_rx_seq = be64_to_cpu(inc->i_hdr.h_sequence) + 1;
|
||||
|
||||
if (rds_sysctl_ping_enable && inc->i_hdr.h_dport == 0) {
|
||||
if (inc->i_hdr.h_sport == 0) {
|
||||
rdsdebug("ignore ping with 0 sport from 0x%x\n", saddr);
|
||||
goto out;
|
||||
}
|
||||
rds_stats_inc(s_recv_ping);
|
||||
rds_send_pong(cp, inc->i_hdr.h_sport);
|
||||
goto out;
|
||||
|
Loading…
x
Reference in New Issue
Block a user