lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BL0PR2101MB0930AC7E5299EF713821FC76CA709@BL0PR2101MB0930.namprd21.prod.outlook.com>
Date:   Mon, 12 Apr 2021 14:39:37 +0000
From:   Haiyang Zhang <haiyangz@...rosoft.com>
To:     Andrew Lunn <andrew@...n.ch>, Dexuan Cui <decui@...rosoft.com>
CC:     "davem@...emloft.net" <davem@...emloft.net>,
        "kuba@...nel.org" <kuba@...nel.org>,
        KY Srinivasan <kys@...rosoft.com>,
        Stephen Hemminger <sthemmin@...rosoft.com>,
        "wei.liu@...nel.org" <wei.liu@...nel.org>,
        Wei Liu <liuwe@...rosoft.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "leon@...nel.org" <leon@...nel.org>,
        "bernd@...rovitsch.priv.at" <bernd@...rovitsch.priv.at>,
        "rdunlap@...radead.org" <rdunlap@...radead.org>,
        Shachar Raindel <shacharr@...rosoft.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>
Subject: RE: [PATCH v4 net-next] net: mana: Add a driver for Microsoft Azure
 Network Adapter (MANA)



> -----Original Message-----
> From: Andrew Lunn <andrew@...n.ch>
> Sent: Monday, April 12, 2021 8:32 AM
> To: Dexuan Cui <decui@...rosoft.com>
> Cc: davem@...emloft.net; kuba@...nel.org; KY Srinivasan
> <kys@...rosoft.com>; Haiyang Zhang <haiyangz@...rosoft.com>; Stephen
> Hemminger <sthemmin@...rosoft.com>; wei.liu@...nel.org; Wei Liu
> <liuwe@...rosoft.com>; netdev@...r.kernel.org; leon@...nel.org;
> bernd@...rovitsch.priv.at; rdunlap@...radead.org; Shachar Raindel
> <shacharr@...rosoft.com>; linux-kernel@...r.kernel.org; linux-
> hyperv@...r.kernel.org
> Subject: Re: [PATCH v4 net-next] net: mana: Add a driver for Microsoft Azure
> Network Adapter (MANA)
> 
> > +static void mana_gd_deregiser_irq(struct gdma_queue *queue) {
> > +	struct gdma_dev *gd = queue->gdma_dev;
> > +	struct gdma_irq_context *gic;
> > +	struct gdma_context *gc;
> > +	struct gdma_resource *r;
> > +	unsigned int msix_index;
> > +	unsigned long flags;
> > +
> > +	/* At most num_online_cpus() + 1 interrupts are used. */
> > +	msix_index = queue->eq.msix_index;
> > +	if (WARN_ON(msix_index > num_online_cpus()))
> > +		return;
> 
> Do you handle hot{un}plug of CPUs?
We don't have hot{un}plug of CPU feature yet.

> 
> > +static void mana_hwc_init_event_handler(void *ctx, struct gdma_queue
> *q_self,
> > +					struct gdma_event *event)
> > +{
> > +	struct hw_channel_context *hwc = ctx;
> > +	struct gdma_dev *gd = hwc->gdma_dev;
> > +	union hwc_init_type_data type_data;
> > +	union hwc_init_eq_id_db eq_db;
> > +	u32 type, val;
> > +
> > +	switch (event->type) {
> > +	case GDMA_EQE_HWC_INIT_EQ_ID_DB:
> > +		eq_db.as_uint32 = event->details[0];
> > +		hwc->cq->gdma_eq->id = eq_db.eq_id;
> > +		gd->doorbell = eq_db.doorbell;
> > +		break;
> > +
> > +	case GDMA_EQE_HWC_INIT_DATA:
> > +
> > +		type_data.as_uint32 = event->details[0];
> > +
> > +	case GDMA_EQE_HWC_INIT_DONE:
> > +		complete(&hwc->hwc_init_eqe_comp);
> > +		break;
> 
> ...
> 
> > +	default:
> > +		WARN_ON(1);
> > +		break;
> > +	}
> 
> Are these events from the firmware? If you have newer firmware with an
> older driver, are you going to spam the kernel log with WARN_ON dumps?
For protocol version mismatch, the host and guest will either negotiate the 
highest common version, or fail to probe. So this kind of warnings are not 
expected.

> 
> > +static int mana_move_wq_tail(struct gdma_queue *wq, u32 num_units) {
> > +	u32 used_space_old;
> > +	u32 used_space_new;
> > +
> > +	used_space_old = wq->head - wq->tail;
> > +	used_space_new = wq->head - (wq->tail + num_units);
> > +
> > +	if (used_space_new > used_space_old) {
> > +		WARN_ON(1);
> > +		return -ERANGE;
> > +	}
> 
> You could replace the 1 by the condition. There are a couple of these.
Will do.

Thanks,
- Haiyang

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ