RDS: Do not call set_page_dirty() with irqs off
set_page_dirty() unconditionally re-enables interrupts, so if we call it with irqs off, they will be on after the call, and that's bad. This patch moves the call after we've re-enabled interrupts in send_drop_to(), so it's safe. Also, add BUG_ONs to let us know if we ever do call set_page_dirty with interrupts off. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
450d06c020
commit
561c7df63e
@@ -440,6 +440,7 @@ static void __rds_ib_teardown_mr(struct rds_ib_mr *ibmr)
|
||||
|
||||
/* FIXME we need a way to tell a r/w MR
|
||||
* from a r/o MR */
|
||||
BUG_ON(in_interrupt());
|
||||
set_page_dirty(page);
|
||||
put_page(page);
|
||||
}
|
||||
|
Reference in New Issue
Block a user