netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: Jijie Shao <shaojijie@huawei.com>
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org,
	shenjian15@huawei.com, wangpeiyang1@huawei.com,
	liuyonglong@huawei.com, chenhao418@huawei.com,
	jonathan.cameron@huawei.com,
	shameerali.kolothum.thodi@huawei.com, salil.mehta@huawei.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND V2 net 7/7] net: hns3: fix kernel crash when 1588 is sent on HIP08 devices
Date: Wed, 18 Dec 2024 10:30:46 +0100	[thread overview]
Message-ID: <Z2KWRsAa7hkdUsWD@mev-dev.igk.intel.com> (raw)
In-Reply-To: <20241217010839.1742227-8-shaojijie@huawei.com>

On Tue, Dec 17, 2024 at 09:08:39AM +0800, Jijie Shao wrote:
> From: Jie Wang <wangjie125@huawei.com>
> 
> Currently, HIP08 devices does not register the ptp devices, so the
> hdev->ptp is NULL. But the tx process would still try to set hardware time
> stamp info with SKBTX_HW_TSTAMP flag and cause a kernel crash.
> 
> [  128.087798] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
> ...
> [  128.280251] pc : hclge_ptp_set_tx_info+0x2c/0x140 [hclge]
> [  128.286600] lr : hclge_ptp_set_tx_info+0x20/0x140 [hclge]
> [  128.292938] sp : ffff800059b93140
> [  128.297200] x29: ffff800059b93140 x28: 0000000000003280
> [  128.303455] x27: ffff800020d48280 x26: ffff0cb9dc814080
> [  128.309715] x25: ffff0cb9cde93fa0 x24: 0000000000000001
> [  128.315969] x23: 0000000000000000 x22: 0000000000000194
> [  128.322219] x21: ffff0cd94f986000 x20: 0000000000000000
> [  128.328462] x19: ffff0cb9d2a166c0 x18: 0000000000000000
> [  128.334698] x17: 0000000000000000 x16: ffffcf1fc523ed24
> [  128.340934] x15: 0000ffffd530a518 x14: 0000000000000000
> [  128.347162] x13: ffff0cd6bdb31310 x12: 0000000000000368
> [  128.353388] x11: ffff0cb9cfbc7070 x10: ffff2cf55dd11e02
> [  128.359606] x9 : ffffcf1f85a212b4 x8 : ffff0cd7cf27dab0
> [  128.365831] x7 : 0000000000000a20 x6 : ffff0cd7cf27d000
> [  128.372040] x5 : 0000000000000000 x4 : 000000000000ffff
> [  128.378243] x3 : 0000000000000400 x2 : ffffcf1f85a21294
> [  128.384437] x1 : ffff0cb9db520080 x0 : ffff0cb9db500080
> [  128.390626] Call trace:
> [  128.393964]  hclge_ptp_set_tx_info+0x2c/0x140 [hclge]
> [  128.399893]  hns3_nic_net_xmit+0x39c/0x4c4 [hns3]
> [  128.405468]  xmit_one.constprop.0+0xc4/0x200
> [  128.410600]  dev_hard_start_xmit+0x54/0xf0
> [  128.415556]  sch_direct_xmit+0xe8/0x634
> [  128.420246]  __dev_queue_xmit+0x224/0xc70
> [  128.425101]  dev_queue_xmit+0x1c/0x40
> [  128.429608]  ovs_vport_send+0xac/0x1a0 [openvswitch]
> [  128.435409]  do_output+0x60/0x17c [openvswitch]
> [  128.440770]  do_execute_actions+0x898/0x8c4 [openvswitch]
> [  128.446993]  ovs_execute_actions+0x64/0xf0 [openvswitch]
> [  128.453129]  ovs_dp_process_packet+0xa0/0x224 [openvswitch]
> [  128.459530]  ovs_vport_receive+0x7c/0xfc [openvswitch]
> [  128.465497]  internal_dev_xmit+0x34/0xb0 [openvswitch]
> [  128.471460]  xmit_one.constprop.0+0xc4/0x200
> [  128.476561]  dev_hard_start_xmit+0x54/0xf0
> [  128.481489]  __dev_queue_xmit+0x968/0xc70
> [  128.486330]  dev_queue_xmit+0x1c/0x40
> [  128.490856]  ip_finish_output2+0x250/0x570
> [  128.495810]  __ip_finish_output+0x170/0x1e0
> [  128.500832]  ip_finish_output+0x3c/0xf0
> [  128.505504]  ip_output+0xbc/0x160
> [  128.509654]  ip_send_skb+0x58/0xd4
> [  128.513892]  udp_send_skb+0x12c/0x354
> [  128.518387]  udp_sendmsg+0x7a8/0x9c0
> [  128.522793]  inet_sendmsg+0x4c/0x8c
> [  128.527116]  __sock_sendmsg+0x48/0x80
> [  128.531609]  __sys_sendto+0x124/0x164
> [  128.536099]  __arm64_sys_sendto+0x30/0x5c
> [  128.540935]  invoke_syscall+0x50/0x130
> [  128.545508]  el0_svc_common.constprop.0+0x10c/0x124
> [  128.551205]  do_el0_svc+0x34/0xdc
> [  128.555347]  el0_svc+0x20/0x30
> [  128.559227]  el0_sync_handler+0xb8/0xc0
> [  128.563883]  el0_sync+0x160/0x180
> 
> Fixes: 0bf5eb788512 ("net: hns3: add support for PTP")
> Signed-off-by: Jie Wang <wangjie125@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> ---
>  drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> index 5505caea88e9..bab16c2191b2 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> @@ -58,6 +58,9 @@ bool hclge_ptp_set_tx_info(struct hnae3_handle *handle, struct sk_buff *skb)
>  	struct hclge_dev *hdev = vport->back;
>  	struct hclge_ptp *ptp = hdev->ptp;
>  
> +	if (!ptp)
> +		return false;
> +
>  	if (!test_bit(HCLGE_PTP_FLAG_TX_EN, &ptp->flags) ||
>  	    test_and_set_bit(HCLGE_STATE_PTP_TX_HANDLING, &hdev->state)) {
>  		ptp->tx_skipped++;

Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Thanks

> -- 
> 2.33.0

      reply	other threads:[~2024-12-18  9:33 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-17  1:08 [PATCH RESEND V2 net 0/7] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 1/7] net: hns3: fixed reset failure issues caused by the incorrect reset type Jijie Shao
2024-12-18  9:02   ` Michal Swiatkowski
2024-12-19  9:41     ` Paolo Abeni
2024-12-19 10:11       ` Michal Swiatkowski
2024-12-19 10:43         ` Paolo Abeni
2024-12-19 12:26           ` Jijie Shao
2025-01-06 14:41             ` Jijie Shao
2024-12-19 10:13       ` Michal Swiatkowski
2024-12-19 12:18       ` Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 2/7] net: hns3: fix missing features due to dev->features configuration too early Jijie Shao
2024-12-18  9:16   ` Michal Swiatkowski
2024-12-17  1:08 ` [PATCH RESEND V2 net 3/7] net: hns3: Resolved the issue that the debugfs query result is inconsistent Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 4/7] net: hns3: don't auto enable misc vector Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 5/7] net: hns3: initialize reset_timer before hclgevf_misc_irq_init() Jijie Shao
2024-12-18  9:20   ` Michal Swiatkowski
2024-12-19 11:48     ` Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 6/7] net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue Jijie Shao
2024-12-18  9:29   ` Michal Swiatkowski
2024-12-19  9:51     ` Paolo Abeni
2024-12-19 10:23       ` Michal Swiatkowski
2024-12-19 11:52     ` Jijie Shao
2024-12-17  1:08 ` [PATCH RESEND V2 net 7/7] net: hns3: fix kernel crash when 1588 is sent on HIP08 devices Jijie Shao
2024-12-18  9:30   ` Michal Swiatkowski [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z2KWRsAa7hkdUsWD@mev-dev.igk.intel.com \
    --to=michal.swiatkowski@linux.intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=chenhao418@huawei.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=jonathan.cameron@huawei.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuyonglong@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=salil.mehta@huawei.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=shaojijie@huawei.com \
    --cc=shenjian15@huawei.com \
    --cc=wangpeiyang1@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).