public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic
@ 2012-10-22 18:12 Jay Fenlason
  2012-10-22 18:19 ` Greg KH
  2012-10-22 18:25 ` Bart Van Assche
  0 siblings, 2 replies; 3+ messages in thread
From: Jay Fenlason @ 2012-10-22 18:12 UTC (permalink / raw)
  To: linux-kernel, linux-rdma; +Cc: stable

If you use rds-ping of the local IP address of some Infiniband HCAs
(QLogic, possibly others) the machine will panic with a BUG_ON due to
an overly restrictive check.  Loosen the restriction a bit

This should have gotten sent a while ago (it was first noticed in
 https://bugzilla.redhat.com/show_bug.cgi?id=803936
and patched in kernel-2.6.32-275.el6) but I got confused about its
embargo status and lost it.

Signed-off-by: Jay Fenlason <fenlason@redhat.com>

diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c
index e590949..7920c85 100644
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@ -544,7 +544,7 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
 	int flow_controlled = 0;
 	int nr_sig = 0;
 
-	BUG_ON(off % RDS_FRAG_SIZE);
+	BUG_ON(!conn->c_loopback && off % RDS_FRAG_SIZE);
 	BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header));
 
 	/* Do not send cong updates to IB loopback */

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic
  2012-10-22 18:12 [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic Jay Fenlason
@ 2012-10-22 18:19 ` Greg KH
  2012-10-22 18:25 ` Bart Van Assche
  1 sibling, 0 replies; 3+ messages in thread
From: Greg KH @ 2012-10-22 18:19 UTC (permalink / raw)
  To: Jay Fenlason; +Cc: linux-kernel, linux-rdma, stable

On Mon, Oct 22, 2012 at 02:12:54PM -0400, Jay Fenlason wrote:
> If you use rds-ping of the local IP address of some Infiniband HCAs
> (QLogic, possibly others) the machine will panic with a BUG_ON due to
> an overly restrictive check.  Loosen the restriction a bit
> 
> This should have gotten sent a while ago (it was first noticed in
>  https://bugzilla.redhat.com/show_bug.cgi?id=803936
> and patched in kernel-2.6.32-275.el6) but I got confused about its
> embargo status and lost it.
> 
> Signed-off-by: Jay Fenlason <fenlason@redhat.com>
> 
> diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic
  2012-10-22 18:12 [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic Jay Fenlason
  2012-10-22 18:19 ` Greg KH
@ 2012-10-22 18:25 ` Bart Van Assche
  1 sibling, 0 replies; 3+ messages in thread
From: Bart Van Assche @ 2012-10-22 18:25 UTC (permalink / raw)
  To: Jay Fenlason; +Cc: linux-kernel, linux-rdma, stable

On 10/22/12 20:12, Jay Fenlason wrote:
> If you use rds-ping of the local IP address of some Infiniband HCAs
> (QLogic, possibly others) the machine will panic with a BUG_ON due to
> an overly restrictive check.  Loosen the restriction a bit
>
> This should have gotten sent a while ago (it was first noticed in
>   https://bugzilla.redhat.com/show_bug.cgi?id=803936
> and patched in kernel-2.6.32-275.el6) but I got confused about its
> embargo status and lost it.
>
> Signed-off-by: Jay Fenlason <fenlason@redhat.com>
>
> diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c
> index e590949..7920c85 100644
> --- a/net/rds/ib_send.c
> +++ b/net/rds/ib_send.c
> @@ -544,7 +544,7 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
>   	int flow_controlled = 0;
>   	int nr_sig = 0;
>
> -	BUG_ON(off % RDS_FRAG_SIZE);
> +	BUG_ON(!conn->c_loopback && off % RDS_FRAG_SIZE);
>   	BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header));
>
>   	/* Do not send cong updates to IB loopback */

Hello Jay,

The recommended approach for checking preconditions is to use 
WARN_ON_ONCE(), not BUG_ON(). Linus explained this last month in a 
message posted on the LKML (http://lkml.org/lkml/2012/9/27/461).

Bart.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-10-22 18:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-22 18:12 [PATCH] prevent CVE-2012-2372 rds-ping causes kernel panic Jay Fenlason
2012-10-22 18:19 ` Greg KH
2012-10-22 18:25 ` Bart Van Assche

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox