From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heinz Diehl Subject: Re: [Bug #15196] kmem_cache_create: duplicate cache ccid2_h Date: Sun, 7 Feb 2010 11:54:48 +0100 Message-ID: <20100207105448.GA6623@fancy-poultry.org> References: <7b6bb4a51001311930i7d72f60dj3b15ca3e1a715607@mail.gmail.com> <20100201150605.GA6175@fancy-poultry.org> Mime-Version: 1.0 Return-path: Content-Disposition: inline In-Reply-To: <20100201150605.GA6175-HjJ2MNWy62to6+H+lsi3Gti2O/JbrIOy@public.gmane.org> Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Xiaotian Feng Cc: "Rafael J. Wysocki" , Linux Kernel Mailing List , Kernel Testers List , nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org, davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org On 01.02.2010, Heinz Diehl wrote: [....] Quoting myself here... > The patch was completely malformed, don't know what happened on the way, > but I applied it by hand. Yes, it fixes the problem for me. Xiaotiangs patch quoted in the thread listed here (coming via kernel.org's bugtracker) http://patchwork.kernel.org/patch/76023/ is missing some lines, and the patch attached at the end of the thread is incomplete and malformed, as reported earlier. I guess this is how it should have looked like (please correct me if I'm wrong): --- /a/ccid.c 2010-02-06 23:17:12.000000000 +0100 +++ /b/ccid.c 2010-02-07 09:50:40.000000000 +0100 @@ -77,13 +77,13 @@ return err; } -static struct kmem_cache *ccid_kmem_cache_create(int obj_size, char *slab_name_fmt, const char *fmt,...) +static struct kmem_cache *ccid_kmem_cache_create(int obj_size, char *slab_name_fmt, int length, const char *fmt,...) { struct kmem_cache *slab; va_list args; va_start(args, fmt); - vsnprintf(slab_name_fmt, sizeof(slab_name_fmt), fmt, args); + vsnprintf(slab_name_fmt, length, fmt, args); va_end(args); slab = kmem_cache_create(slab_name_fmt, sizeof(struct ccid) + obj_size, 0, @@ -104,6 +104,7 @@ ccid_ops->ccid_hc_rx_slab = ccid_kmem_cache_create(ccid_ops->ccid_hc_rx_obj_size, ccid_ops->ccid_hc_rx_slab_name, + sizeof(ccid_ops->ccid_hc_rx_slab_name), "ccid%u_hc_rx_sock", ccid_ops->ccid_id); if (ccid_ops->ccid_hc_rx_slab == NULL) @@ -112,6 +113,7 @@ ccid_ops->ccid_hc_tx_slab = ccid_kmem_cache_create(ccid_ops->ccid_hc_tx_obj_size, ccid_ops->ccid_hc_tx_slab_name, + sizeof(ccid_ops->ccid_hc_tx_slab_name), "ccid%u_hc_tx_sock", ccid_ops->ccid_id); if (ccid_ops->ccid_hc_tx_slab == NULL)