Messages in this thread | | | Subject | Re: [PATCH v3] thunderbolt: Fix to check the return value of kmemdup | From | Mukesh Ojha <> | Date | Wed, 27 Mar 2019 20:06:24 +0530 |
| |
On 3/26/2019 2:55 AM, Aditya Pakki wrote: > uuid in add_switch is allocted via kmemdup which can fail. The patch > logs the error and cleans up the allocated memory for switch. > > Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
-Mukesh
> > --- > v2: replace WARN_ONCE with tb_sw_warn, as suggested by Mika > v1: Change warn_once to return after clean up. > --- > drivers/thunderbolt/icm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c > index e3fc920af682..8b7f9131e9d1 100644 > --- a/drivers/thunderbolt/icm.c > +++ b/drivers/thunderbolt/icm.c > @@ -473,6 +473,11 @@ static void add_switch(struct tb_switch *parent_sw, u64 route, > goto out; > > sw->uuid = kmemdup(uuid, sizeof(*uuid), GFP_KERNEL); > + if (!sw->uuid) { > + tb_sw_warn(sw, "cannot allocate memory for switch\n"); > + tb_switch_put(sw); > + goto out; > + } > sw->connection_id = connection_id; > sw->connection_key = connection_key; > sw->link = link;
| |