| From 23acbce06c73d37dd6e32302e555a995beeeeaf8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 12 Dec 2023 10:40:15 +0800 |
| Subject: ice: Fix some null pointer dereference issues in ice_ptp.c |
| |
| From: Kunwu Chan <chentao@kylinos.cn> |
| |
| [ Upstream commit 3027e7b15b02d2d37e3f82d6b8404f6d37e3b8cf ] |
| |
| devm_kasprintf() returns a pointer to dynamically allocated memory |
| which can be NULL upon failure. |
| |
| Fixes: d938a8cca88a ("ice: Auxbus devices & driver for E822 TS") |
| Cc: Kunwu Chan <kunwu.chan@hotmail.com> |
| Suggested-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> |
| Signed-off-by: Kunwu Chan <chentao@kylinos.cn> |
| Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> |
| Reviewed-by: Simon Horman <horms@kernel.org> |
| Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel) |
| Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/intel/ice/ice_ptp.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c |
| index 71f405f8a6fe..e6b1ce76ca8a 100644 |
| --- a/drivers/net/ethernet/intel/ice/ice_ptp.c |
| +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c |
| @@ -2692,6 +2692,8 @@ static int ice_ptp_register_auxbus_driver(struct ice_pf *pf) |
| name = devm_kasprintf(dev, GFP_KERNEL, "ptp_aux_dev_%u_%u_clk%u", |
| pf->pdev->bus->number, PCI_SLOT(pf->pdev->devfn), |
| ice_get_ptp_src_clock_index(&pf->hw)); |
| + if (!name) |
| + return -ENOMEM; |
| |
| aux_driver->name = name; |
| aux_driver->shutdown = ice_ptp_auxbus_shutdown; |
| @@ -2938,6 +2940,8 @@ static int ice_ptp_create_auxbus_device(struct ice_pf *pf) |
| name = devm_kasprintf(dev, GFP_KERNEL, "ptp_aux_dev_%u_%u_clk%u", |
| pf->pdev->bus->number, PCI_SLOT(pf->pdev->devfn), |
| ice_get_ptp_src_clock_index(&pf->hw)); |
| + if (!name) |
| + return -ENOMEM; |
| |
| aux_dev->name = name; |
| aux_dev->id = id; |
| -- |
| 2.43.0 |
| |