Commit 38b0e42a authored by Vlad Yasevich's avatar Vlad Yasevich Committed by Sridhar Samudrala

[SCTP]: Fix sctp_assoc_seq_show() panics on big-endian systems.

This patch corrects the panic by casting the argument to the
pointer of correct size.  On big-endian systems we ended up loading
only 32 bits of data because we are treating the pointer as an int*.
By treating this pointer as loff_t*, we'll load the full 64 bits
and then let regular integer demotion take place which will give us
the correct value.
Signed-off-by: default avatarVlad Yaseivch <vladislav.yasevich@hp.com>
Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
parent 49392e5e
...@@ -210,7 +210,7 @@ static int sctp_eps_seq_show(struct seq_file *seq, void *v) ...@@ -210,7 +210,7 @@ static int sctp_eps_seq_show(struct seq_file *seq, void *v)
struct sctp_ep_common *epb; struct sctp_ep_common *epb;
struct sctp_endpoint *ep; struct sctp_endpoint *ep;
struct sock *sk; struct sock *sk;
int hash = *(int *)v; int hash = *(loff_t *)v;
if (hash >= sctp_ep_hashsize) if (hash >= sctp_ep_hashsize)
return -ENOMEM; return -ENOMEM;
...@@ -313,7 +313,7 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v) ...@@ -313,7 +313,7 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v)
struct sctp_ep_common *epb; struct sctp_ep_common *epb;
struct sctp_association *assoc; struct sctp_association *assoc;
struct sock *sk; struct sock *sk;
int hash = *(int *)v; int hash = *(loff_t *)v;
if (hash >= sctp_assoc_hashsize) if (hash >= sctp_assoc_hashsize)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment