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
| ||
|
Message-Id: <1193375157.26695.58.camel@localhost> Date: Thu, 25 Oct 2007 22:05:57 -0700 From: Joe Perches <joe@...ches.com> To: Rusty Russell <rusty@...tcorp.com.au> Cc: Matthew Wilcox <matthew@....cx>, Linus Torvalds <torvalds@...l.org>, Andrew Morton <akpm@...l.org>, linux-kernel@...r.kernel.org, Matthew Wilcox <willy@...ux.intel.com> Subject: Re: [PATCH 1/4] stringbuf: A string buffer implementation Perhaps have an sb_alloc function and a failure mode that uses printk when sb_alloc fails or sb_append is passed null? Perhaps something like: stringbuf *sb_alloc(char* level, gfp_t priority) { stringbuf *sb = kmalloc(sizeof(*sb), priority); if (sb) sb>len = sprintf(sb->buf, "%s", level); else printk(level); return sb; } EXPORT_SYMBOL(sb_alloc); /** * sb_append - append to a stringbuf * @sb: a pointer to the stringbuf * @fmt: printf-style format */ void sb_append(struct stringbuf *sb, const char *fmt, ...) { va_list args; va_start(args, fmt); if (sb) sb->len += vscnprintf(&sb->buf[len], sizeof(sb->buf) - sb->len, fmt, args); else vprintk(fmt, args); va_end(args); } EXPORT_SYMBOL(sb_append); void sb_printk(struct stringbuf *sb) { if (sb && sb->len > 0) { printk(sb->buf); sb->len = 0; } } EXPORT_SYMBOL(sb_printk); void sb_free(stringbuf *sb) { kfree(sb); } EXPORT_SYMBOL(sb_free); - 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