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: <20220308155754.000029bb@tom.com>
Date:   Tue, 8 Mar 2022 15:57:54 +0800
From:   Mingbao Sun <sunmingbao@....com>
To:     Christoph Hellwig <hch@....de>
Cc:     Keith Busch <kbusch@...nel.org>, Jens Axboe <axboe@...com>,
        Sagi Grimberg <sagi@...mberg.me>,
        Chaitanya Kulkarni <kch@...dia.com>,
        linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org,
        tyler.sun@...l.com, ping.gan@...l.com, yanxiu.cai@...l.com,
        libin.zhang@...l.com, ao.sun@...l.com
Subject: Re: [PATCH 2/2] nvme-tcp: support specifying the congestion-control

On Tue, 8 Mar 2022 08:12:27 +0100
Christoph Hellwig <hch@....de> wrote:

> On Sat, Mar 05, 2022 at 03:09:15PM +0800, Mingbao Sun wrote:
> > Well, actually I did have thought whether the calling of network API
> > here is proper. Since I did find that there is no call to APIs of
> > PCI/RDMA/TCP in fabrics.c.  
> 
> Yes - for a good reason.  Without networking support your patch won't
> even compile (both the host and target side).

accept.

Will remove the calls to networking APIs in the next version.
With investigation, I found the tcp_congestion could also get checked
later within sock_common_setsockopt in nvme_tcp_alloc_queue.
And this brings no difference to the command 'nvme connect'.

> 
> > But I hope the following could make a defense for it:
> > 
> > Anyway, we need to validate the tcp_congestion passed in from
> > user-space, right?  
> 
> Do we?  It seems like no one else really calls this routine to verify
> things.  In fact it has no modular users at all in the current tree.

OK. Got it.

> 
> > The role of nvmf_parse_options is similar to that of
> > drivers/nvme/target/configfs.c from the target side.
> > And both of them can not avoid handling specific options of the
> > sub-classes (e.g., NVMF_OPT_HDR_DIGEST, NVMF_OPT_TOS, NVMF_OPT_KATO).  
> 
> NVMF_OPT_KATO is completely generic, but yes, there other two are
> transport specific.  None of them calls out into other modules
> that would need dependecies, though.

Yeah, NVMF_OPT_KATO is generic. Sorry for the mistake.

> 
> I'm also a little concerned that no other in kernel user like iSCSI,
> NBD or NFS has any code like this.

Well, at least I could first remove the calls to networking APIs on the
host side. And it brings no downside.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ