All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.