Message ID | 20220124032954.18283-1-hbh25y@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 29eb31542787e1019208a2e1047bb7c76c069536 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | yam: fix a memory leak in yam_siocdevprivate() | expand |
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Mon, 24 Jan 2022 11:29:54 +0800 you wrote: > ym needs to be free when ym->cmd != SIOCYAMSMCS. > > Fixes: 0781168e23a2 ("yam: fix a missing-check bug") > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > --- > drivers/net/hamradio/yam.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) Here is the summary with links: - yam: fix a memory leak in yam_siocdevprivate() https://git.kernel.org/netdev/net/c/29eb31542787 You are awesome, thank you!
Just a comment: Looks ok for me. On Mon, Jan 24, 2022 at 11:29:54AM +0800, Hangyu Hua wrote: > ym needs to be free when ym->cmd != SIOCYAMSMCS. > > Fixes: 0781168e23a2 ("yam: fix a missing-check bug") > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > --- > drivers/net/hamradio/yam.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c > index 6376b8485976..980f2be32f05 100644 > --- a/drivers/net/hamradio/yam.c > +++ b/drivers/net/hamradio/yam.c > @@ -950,9 +950,7 @@ static int yam_siocdevprivate(struct net_device *dev, struct ifreq *ifr, void __ > ym = memdup_user(data, sizeof(struct yamdrv_ioctl_mcs)); > if (IS_ERR(ym)) > return PTR_ERR(ym); > - if (ym->cmd != SIOCYAMSMCS) > - return -EINVAL; > - if (ym->bitrate > YAM_MAXBITRATE) { > + if (ym->cmd != SIOCYAMSMCS || ym->bitrate > YAM_MAXBITRATE) { > kfree(ym); > return -EINVAL; > } > -- > 2.25.1 >
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index 6376b8485976..980f2be32f05 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -950,9 +950,7 @@ static int yam_siocdevprivate(struct net_device *dev, struct ifreq *ifr, void __ ym = memdup_user(data, sizeof(struct yamdrv_ioctl_mcs)); if (IS_ERR(ym)) return PTR_ERR(ym); - if (ym->cmd != SIOCYAMSMCS) - return -EINVAL; - if (ym->bitrate > YAM_MAXBITRATE) { + if (ym->cmd != SIOCYAMSMCS || ym->bitrate > YAM_MAXBITRATE) { kfree(ym); return -EINVAL; }
ym needs to be free when ym->cmd != SIOCYAMSMCS. Fixes: 0781168e23a2 ("yam: fix a missing-check bug") Signed-off-by: Hangyu Hua <hbh25y@gmail.com> --- drivers/net/hamradio/yam.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)