Re: [PATCH] Export symbol ksize()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes,

On Mon, 2009-02-16 at 14:56 +0100, Johannes Weiner wrote:
> On Tue, Feb 10, 2009 at 04:06:53PM +0200, Pekka J Enberg wrote:
> > On Tue, Feb 10, 2009 at 03:35:03PM +0200, Pekka Enberg wrote:
> > > > We unexported ksize() because it's a problematic interface and you
> > > > almost certainly want to use the alternatives (e.g. krealloc). I think
> > > > I need bit more convincing to apply this patch...
> >  
> > On Tue, 10 Feb 2009, Kirill A. Shutemov wrote:
> > > It just a quick fix. If anybody knows better solution, I have no
> > > objections.
> > 
> > Herbert, what do you think of this (untested) patch? Alternatively, we 
> > could do something like kfree_secure() but it seems overkill for this one 
> > call-site.
> 
> There are more callsites which do memset() + kfree():
> 
> 	arch/s390/crypto/prng.c
> 	drivers/s390/crypto/zcrypt_pcixcc.c
> 	drivers/md/dm-crypt.c
> 	drivers/usb/host/hwa-hc.c
> 	drivers/usb/wusbcore/cbaf.c
> 	(drivers/w1/w1{,_int}.c)
> 	fs/cifs/misc.c
> 	fs/cifs/connect.c
> 	fs/ecryptfs/keystore.c
> 	fs/ecryptfs/messaging.c
> 	net/atm/mpoa_caches.c
> 
> How about the attached patch?  One problem is that zeroing ksize()
> bytes can have an overhead of nearly twice the actual allocation size.
> 
> So we would need an interface that lets the caller pass in either a
> number of bytes it wants to have zeroed out or say idontknow.
> 
> Perhaps add a size parameter that is cut to ksize() if it's too big?
> Or (ssize_t)-1 for figureitoutyourself?

I'd prefer the kzfree() interface as-is. I don't think you want to do
the memset/kfree in a fast-path anyway.

If you can convince Andrew to pick this patch up and maybe convert some
call-sites to actually use it, then:

Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

			Pekka

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux