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
| ||
|
Date: Sat, 12 Apr 2014 17:39:37 +0100 From: Jonathan Cameron <jic23@...nel.org> To: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com> CC: linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org, Greg Kroah-Hartman <gregkh@...uxfoundation.org> Subject: Re: [Patch v3 1/6] devres: introduce API "devm_kmemdup On 09/04/14 01:56, Srinivas Pandruvada wrote: > Introduce devm_kmemdup, which uses resource managed kmalloc. > There are several request from maintainers to add this instead > of using kmemdup. > > Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com> I've been trying to work out who else should be cc'd on this and so far I've come up with Greg... Looks like a straight forward addition to me though - plenty of other possible users in IIO if nowhere else. (mostly in other hid sensor drivers, but there we are ;) > --- > Documentation/driver-model/devres.txt | 1 + > drivers/base/devres.c | 21 +++++++++++++++++++++ > include/linux/device.h | 2 ++ > 3 files changed, 24 insertions(+) > > diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt > index 4f7897e..4999518 100644 > --- a/Documentation/driver-model/devres.txt > +++ b/Documentation/driver-model/devres.txt > @@ -236,6 +236,7 @@ certainly invest a bit more effort into libata core layer). > MEM > devm_kzalloc() > devm_kfree() > + devm_kmemdup() > > IIO > devm_iio_device_alloc() > diff --git a/drivers/base/devres.c b/drivers/base/devres.c > index db4e264..d0914cb 100644 > --- a/drivers/base/devres.c > +++ b/drivers/base/devres.c > @@ -831,3 +831,24 @@ void devm_kfree(struct device *dev, void *p) > WARN_ON(rc); > } > EXPORT_SYMBOL_GPL(devm_kfree); > + > +/** > + * devm_kmemdup - Resource-managed kmemdup > + * @dev: Device this memory belongs to > + * @src: Memory region to duplicate > + * @len: Memory region length > + * @gfp: GFP mask to use > + * > + * Duplicate region of a memory using resource managed kmalloc > + */ > +void *devm_kmemdup(struct device *dev, const void *src, size_t len, gfp_t gfp) > +{ > + void *p; > + > + p = devm_kmalloc(dev, len, gfp); > + if (p) > + memcpy(p, src, len); > + > + return p; > +} > +EXPORT_SYMBOL_GPL(devm_kmemdup); > diff --git a/include/linux/device.h b/include/linux/device.h > index 233bbbe..0b3117a 100644 > --- a/include/linux/device.h > +++ b/include/linux/device.h > @@ -629,6 +629,8 @@ static inline void *devm_kcalloc(struct device *dev, > } > extern void devm_kfree(struct device *dev, void *p); > extern char *devm_kstrdup(struct device *dev, const char *s, gfp_t gfp); > +extern void *devm_kmemdup(struct device *dev, const void *src, size_t len, > + gfp_t gfp); > > void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res); > void __iomem *devm_request_and_ioremap(struct device *dev, > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists