* [Drbd-dev] [PATCH] drbd: Fix exception handling in nla_put_drbd_cfg_context() [not found] <f9303bdc-b1a7-be5e-56c6-dfa8232b8b55@web.de> @ 2023-03-17 17:40 ` Markus Elfring 2023-03-25 14:07 ` [Drbd-dev] [PATCH resent] " Markus Elfring 0 siblings, 1 reply; 4+ messages in thread From: Markus Elfring @ 2023-03-17 17:40 UTC (permalink / raw) To: kernel-janitors, drbd-dev, linux-block, Christoph Böhmwalder, Jens Axboe, Lars Ellenberg, Philipp Reisner Cc: LKML, cocci Date: Fri, 17 Mar 2023 18:32:05 +0100 The label “nla_put_failure” was used to jump to another pointer check despite of the detail in the implementation of the function “nla_put_drbd_cfg_context” that it was determined already that the corresponding variable contained a null pointer. * Thus return directly after a call of the function “nla_nest_start_noflag” failed. * Delete an extra pointer check which became unnecessary with this refactoring. This issue was detected by using the Coccinelle software. Fixes: 543cc10b4cc5c60aa9fcc62705ccfb9998bf4697 ("drbd: drbd_adm_get_status needs to show some more detail") Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- drivers/block/drbd/drbd_nl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index f49f2a5282e1..9cb947127472 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -3187,7 +3187,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, struct nlattr *nla; nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_CONTEXT); if (!nla) - goto nla_put_failure; + return -EMSGSIZE; if (device && nla_put_u32(skb, T_ctx_volume, device->vnr)) goto nla_put_failure; @@ -3205,8 +3205,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, return 0; nla_put_failure: - if (nla) - nla_nest_cancel(skb, nla); + nla_nest_cancel(skb, nla); return -EMSGSIZE; } -- 2.40.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Drbd-dev] [PATCH resent] drbd: Fix exception handling in nla_put_drbd_cfg_context() 2023-03-17 17:40 ` [Drbd-dev] [PATCH] drbd: Fix exception handling in nla_put_drbd_cfg_context() Markus Elfring @ 2023-03-25 14:07 ` Markus Elfring 2023-03-27 12:28 ` Christoph Böhmwalder 0 siblings, 1 reply; 4+ messages in thread From: Markus Elfring @ 2023-03-25 14:07 UTC (permalink / raw) To: kernel-janitors, drbd-dev, linux-block, Christoph Böhmwalder, Jens Axboe, Lars Ellenberg, Philipp Reisner Cc: LKML, cocci Date: Fri, 17 Mar 2023 18:32:05 +0100 The label “nla_put_failure” was used to jump to another pointer check despite of the detail in the implementation of the function “nla_put_drbd_cfg_context” that it was determined already that the corresponding variable contained a null pointer. * Thus return directly after a call of the function “nla_nest_start_noflag” failed. * Delete an extra pointer check which became unnecessary with this refactoring. This issue was detected by using the Coccinelle software. Fixes: 543cc10b4cc5c60aa9fcc62705ccfb9998bf4697 ("drbd: drbd_adm_get_status needs to show some more detail") Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- drivers/block/drbd/drbd_nl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index f49f2a5282e1..9cb947127472 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -3187,7 +3187,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, struct nlattr *nla; nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_CONTEXT); if (!nla) - goto nla_put_failure; + return -EMSGSIZE; if (device && nla_put_u32(skb, T_ctx_volume, device->vnr)) goto nla_put_failure; @@ -3205,8 +3205,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, return 0; nla_put_failure: - if (nla) - nla_nest_cancel(skb, nla); + nla_nest_cancel(skb, nla); return -EMSGSIZE; } -- 2.40.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Drbd-dev] [PATCH resent] drbd: Fix exception handling in nla_put_drbd_cfg_context() 2023-03-25 14:07 ` [Drbd-dev] [PATCH resent] " Markus Elfring @ 2023-03-27 12:28 ` Christoph Böhmwalder 2023-03-27 17:26 ` [Drbd-dev] " Markus Elfring 0 siblings, 1 reply; 4+ messages in thread From: Christoph Böhmwalder @ 2023-03-27 12:28 UTC (permalink / raw) To: Markus Elfring Cc: Jens Axboe, kernel-janitors, LKML, Philipp Reisner, linux-block, Lars Ellenberg, cocci, drbd-dev Am 25.03.23 um 15:07 schrieb Markus Elfring: > Date: Fri, 17 Mar 2023 18:32:05 +0100 > > The label “nla_put_failure” was used to jump to another pointer check > despite of the detail in the implementation of the function > “nla_put_drbd_cfg_context” that it was determined already that > the corresponding variable contained a null pointer. > > * Thus return directly after a call of the function > “nla_nest_start_noflag” failed. > > * Delete an extra pointer check which became unnecessary > with this refactoring. > > > This issue was detected by using the Coccinelle software. > > Fixes: 543cc10b4cc5c60aa9fcc62705ccfb9998bf4697 ("drbd: drbd_adm_get_status needs to show some more detail") > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > --- > drivers/block/drbd/drbd_nl.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c > index f49f2a5282e1..9cb947127472 100644 > --- a/drivers/block/drbd/drbd_nl.c > +++ b/drivers/block/drbd/drbd_nl.c > @@ -3187,7 +3187,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, > struct nlattr *nla; > nla = nla_nest_start_noflag(skb, DRBD_NLA_CFG_CONTEXT); > if (!nla) > - goto nla_put_failure; > + return -EMSGSIZE; > if (device && > nla_put_u32(skb, T_ctx_volume, device->vnr)) > goto nla_put_failure; > @@ -3205,8 +3205,7 @@ static int nla_put_drbd_cfg_context(struct sk_buff *skb, > return 0; > > nla_put_failure: > - if (nla) > - nla_nest_cancel(skb, nla); > + nla_nest_cancel(skb, nla); > return -EMSGSIZE; > } > > -- > 2.40.0 > Sorry, I fail to see how this is an improvement over the status quo, much less a "fix". Can you identify the issue with the current code and can you explain how your patch makes it better? -- Christoph Böhmwalder LINBIT | Keeping the Digital World Running DRBD HA — Disaster Recovery — Software defined Storage ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Drbd-dev] drbd: Fix exception handling in nla_put_drbd_cfg_context() 2023-03-27 12:28 ` Christoph Böhmwalder @ 2023-03-27 17:26 ` Markus Elfring 0 siblings, 0 replies; 4+ messages in thread From: Markus Elfring @ 2023-03-27 17:26 UTC (permalink / raw) To: Christoph Böhmwalder, kernel-janitors, drbd-dev, linux-block, Jens Axboe, Lars Ellenberg, Philipp Reisner Cc: LKML, cocci > Can you identify the issue with the current code and can you explain how > your patch makes it better? I propose to avoid a duplicate pointer check also in this function implementation. Regards, Markus ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-03-27 17:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <f9303bdc-b1a7-be5e-56c6-dfa8232b8b55@web.de>
2023-03-17 17:40 ` [Drbd-dev] [PATCH] drbd: Fix exception handling in nla_put_drbd_cfg_context() Markus Elfring
2023-03-25 14:07 ` [Drbd-dev] [PATCH resent] " Markus Elfring
2023-03-27 12:28 ` Christoph Böhmwalder
2023-03-27 17:26 ` [Drbd-dev] " Markus Elfring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox