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]
Date:   Thu, 29 Mar 2018 14:39:40 -0700
From:   Moritz Fischer <mdf@...nel.org>
To:     Alan Tull <atull@...nel.org>
Cc:     Greg KH <gregkh@...uxfoundation.org>,
        Moritz Fischer <mdf@...nel.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        linux-fpga@...r.kernel.org
Subject: Re: [PATCH 4/6] fpga: region: change fpga_region_register to have
 one param

On Thu, Mar 29, 2018 at 03:42:51PM -0500, Alan Tull wrote:
> On Thu, Mar 29, 2018 at 12:06 PM, Greg KH <gregkh@...uxfoundation.org> wrote:
> 
> Hi Greg,
> 
> >> -int fpga_region_register(struct device *dev, struct fpga_region *region)
> >> +int fpga_region_register(struct fpga_region *region)
> >>  {
> >> +     struct device *dev = region->parent;
> >>       int id, ret = 0;
> >>
> >> +     if (!dev) {
> >> +             pr_err("Attempt to register fpga region without parent\n");
> >> +             return -EINVAL;
> >> +     }
> >
> > Are you sure you don't want a virtual device?  That is what will happen
> > if you do not have a parent, right?  Or do you always want to have
> > "real" devices?
> 
> I don't want to restrict this to "real" devices, so yes, I'll be
> removing this check.
> 
> >> diff --git a/include/linux/fpga/fpga-region.h b/include/linux/fpga/fpga-region.h
> >> index b6520318ab9c..423c87e3e29a 100644
> >> --- a/include/linux/fpga/fpga-region.h
> >> +++ b/include/linux/fpga/fpga-region.h
> >> @@ -8,6 +8,7 @@
> >>  /**
> >>   * struct fpga_region - FPGA Region structure
> >>   * @dev: FPGA Region device
> >> + * @parent: parent device
> >>   * @mutex: enforces exclusive reference to region
> >>   * @bridge_list: list of FPGA bridges specified in region
> >>   * @mgr: FPGA manager
> >> @@ -18,6 +19,7 @@
> >>   */
> >>  struct fpga_region {
> >>       struct device dev;
> >> +     struct device *parent;
> >
> > Why doesn't your dev parent pointer point to this, why do you need to
> > have a separate pointer?  That feels really wrong.  Pass in the parent
> > pointer when you create the struct device, otherwise it will be
> > registered incorrectly anyway.  Then you always have the correct
> > pointer, no need to keep a "spare" copy.
> 
> I'll add a fpga_mgr_create function and let it set the parent.  No
> need to save it.

I think we had discussed this in the first round of the patchset.
How about fpga_mgr_alloc(...) and fpga_mgr_register(...) as suggested
back then?

Thanks for the review,

Moritz

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ