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:	Wed, 13 Apr 2016 14:22:49 -0400
From:	Matthew Wilcox <willy@...ux.intel.com>
To:	Toshi Kani <toshi.kani@....com>
Cc:	akpm@...ux-foundation.org, dan.j.williams@...el.com,
	linux-nvdimm@...ts.01.org, linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org, Theodore Ts'o <tytso@....edu>,
	Andreas Dilger <adilger.kernel@...ger.ca>,
	Jan Kara <jack@...e.cz>,
	Ross Zwisler <ross.zwisler@...ux.intel.com>,
	linux-ext4@...r.kernel.org
Subject: Re: [PATCH v2 2/5] ext4: call dax_get_unmapped_area() for DAX pmd
 mappings

On Wed, Apr 13, 2016 at 09:08:36AM -0600, Toshi Kani wrote:
> > Could you do something like:
> > 
> >  #ifdef CONFIG_FS_DAX
> >  struct page *read_dax_sector(struct block_device *bdev, sector_t n);
> > +unsigned long dax_get_unmapped_area(struct file *filp, unsigned long
> > addr,
> > +               unsigned long len, unsigned long pgoff, unsigned long
> > flags);
> >  #else
> >  static inline struct page *read_dax_sector(struct block_device *bdev,
> >                  sector_t n)
> >  {
> >          return ERR_PTR(-ENXIO);
> >  }
> > +#define dax_get_unmapped_area	NULL
> >  #endif
> > 
> > in patch 1/5.  Then there's no need for the ifdefs in each filesystem.
> 
> I thought about it, but I do not think we can use an inline function to an
> entry point.

That's not an inline function.  It's just NULL.  So after the preprocessor
is done with it, it just looks like:

	.get_unmapped_area = NULL,

and it won't be called by get_unmapped_area().

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ