Messages in this thread | | | Subject | Re: [PATCH] RDS: verify the underlying transport exists before creating a connection | From | santosh shilimkar <> | Date | Fri, 4 Sep 2015 10:32:14 -0700 |
| |
Sasha,
On 9/4/2015 9:43 AM, Sasha Levin wrote: > There was no verification that an underlying transport exists when creating > a connection, this would cause dereferencing a NULL ptr. > > Signed-off-by: Sasha Levin <sasha.levin@oracle.com> > --- > net/rds/connection.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/net/rds/connection.c b/net/rds/connection.c > index a50e652..0218d81 100644 > --- a/net/rds/connection.c > +++ b/net/rds/connection.c > @@ -189,6 +189,12 @@ new_conn: > } > } > > + if (trans == NULL) { > + kmem_cache_free(rds_conn_slab, conn); > + conn = ERR_PTR(-ENODEV); > + goto out; > + } > +
Did you see the NULL oops in any tests ? The reason am asking this because callers of '__rds_conn_create()' are not passing the trans as null so that leaves with only the loopback case. In that case as well, rds_loop_transport is never going to be null.
The check is good but am curious whether we have a case which will hit this scenario.
Regards, Santosh
| |