[PATCH] use kzalloc and kcalloc in core fs code
Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
656bde5728
commit
11b0b5abb2
8 changed files with 10 additions and 22 deletions
3
fs/aio.c
3
fs/aio.c
|
@ -122,10 +122,9 @@ static int aio_setup_ring(struct kioctx *ctx)
|
||||||
info->nr = 0;
|
info->nr = 0;
|
||||||
info->ring_pages = info->internal_pages;
|
info->ring_pages = info->internal_pages;
|
||||||
if (nr_pages > AIO_RING_PAGES) {
|
if (nr_pages > AIO_RING_PAGES) {
|
||||||
info->ring_pages = kmalloc(sizeof(struct page *) * nr_pages, GFP_KERNEL);
|
info->ring_pages = kcalloc(nr_pages, sizeof(struct page *), GFP_KERNEL);
|
||||||
if (!info->ring_pages)
|
if (!info->ring_pages)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
memset(info->ring_pages, 0, sizeof(struct page *) * nr_pages);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
info->mmap_size = nr_pages * PAGE_SIZE;
|
info->mmap_size = nr_pages * PAGE_SIZE;
|
||||||
|
|
|
@ -1465,12 +1465,11 @@ static int elf_core_dump(long signr, struct pt_regs * regs, struct file * file)
|
||||||
read_lock(&tasklist_lock);
|
read_lock(&tasklist_lock);
|
||||||
do_each_thread(g,p)
|
do_each_thread(g,p)
|
||||||
if (current->mm == p->mm && current != p) {
|
if (current->mm == p->mm && current != p) {
|
||||||
tmp = kmalloc(sizeof(*tmp), GFP_ATOMIC);
|
tmp = kzalloc(sizeof(*tmp), GFP_ATOMIC);
|
||||||
if (!tmp) {
|
if (!tmp) {
|
||||||
read_unlock(&tasklist_lock);
|
read_unlock(&tasklist_lock);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
memset(tmp, 0, sizeof(*tmp));
|
|
||||||
INIT_LIST_HEAD(&tmp->list);
|
INIT_LIST_HEAD(&tmp->list);
|
||||||
tmp->thread = p;
|
tmp->thread = p;
|
||||||
list_add(&tmp->list, &thread_list);
|
list_add(&tmp->list, &thread_list);
|
||||||
|
|
7
fs/bio.c
7
fs/bio.c
|
@ -636,12 +636,10 @@ static struct bio *__bio_map_user_iov(request_queue_t *q,
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
pages = kmalloc(nr_pages * sizeof(struct page *), GFP_KERNEL);
|
pages = kcalloc(nr_pages, sizeof(struct page *), GFP_KERNEL);
|
||||||
if (!pages)
|
if (!pages)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
memset(pages, 0, nr_pages * sizeof(struct page *));
|
|
||||||
|
|
||||||
for (i = 0; i < iov_count; i++) {
|
for (i = 0; i < iov_count; i++) {
|
||||||
unsigned long uaddr = (unsigned long)iov[i].iov_base;
|
unsigned long uaddr = (unsigned long)iov[i].iov_base;
|
||||||
unsigned long len = iov[i].iov_len;
|
unsigned long len = iov[i].iov_len;
|
||||||
|
@ -1186,12 +1184,11 @@ void bioset_free(struct bio_set *bs)
|
||||||
|
|
||||||
struct bio_set *bioset_create(int bio_pool_size, int bvec_pool_size, int scale)
|
struct bio_set *bioset_create(int bio_pool_size, int bvec_pool_size, int scale)
|
||||||
{
|
{
|
||||||
struct bio_set *bs = kmalloc(sizeof(*bs), GFP_KERNEL);
|
struct bio_set *bs = kzalloc(sizeof(*bs), GFP_KERNEL);
|
||||||
|
|
||||||
if (!bs)
|
if (!bs)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
memset(bs, 0, sizeof(*bs));
|
|
||||||
bs->bio_pool = mempool_create(bio_pool_size, mempool_alloc_slab,
|
bs->bio_pool = mempool_create(bio_pool_size, mempool_alloc_slab,
|
||||||
mempool_free_slab, bio_slab);
|
mempool_free_slab, bio_slab);
|
||||||
|
|
||||||
|
|
|
@ -146,12 +146,10 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor,
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
cd = kmalloc(sizeof(struct char_device_struct), GFP_KERNEL);
|
cd = kzalloc(sizeof(struct char_device_struct), GFP_KERNEL);
|
||||||
if (cd == NULL)
|
if (cd == NULL)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
memset(cd, 0, sizeof(struct char_device_struct));
|
|
||||||
|
|
||||||
mutex_lock(&chrdevs_lock);
|
mutex_lock(&chrdevs_lock);
|
||||||
|
|
||||||
/* temporary */
|
/* temporary */
|
||||||
|
@ -466,9 +464,8 @@ static struct kobj_type ktype_cdev_dynamic = {
|
||||||
|
|
||||||
struct cdev *cdev_alloc(void)
|
struct cdev *cdev_alloc(void)
|
||||||
{
|
{
|
||||||
struct cdev *p = kmalloc(sizeof(struct cdev), GFP_KERNEL);
|
struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL);
|
||||||
if (p) {
|
if (p) {
|
||||||
memset(p, 0, sizeof(struct cdev));
|
|
||||||
p->kobj.ktype = &ktype_cdev_dynamic;
|
p->kobj.ktype = &ktype_cdev_dynamic;
|
||||||
INIT_LIST_HEAD(&p->list);
|
INIT_LIST_HEAD(&p->list);
|
||||||
kobject_init(&p->kobj);
|
kobject_init(&p->kobj);
|
||||||
|
|
|
@ -1476,10 +1476,9 @@ int compat_do_execve(char * filename,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
retval = -ENOMEM;
|
retval = -ENOMEM;
|
||||||
bprm = kmalloc(sizeof(*bprm), GFP_KERNEL);
|
bprm = kzalloc(sizeof(*bprm), GFP_KERNEL);
|
||||||
if (!bprm)
|
if (!bprm)
|
||||||
goto out_ret;
|
goto out_ret;
|
||||||
memset(bprm, 0, sizeof(*bprm));
|
|
||||||
|
|
||||||
file = open_exec(filename);
|
file = open_exec(filename);
|
||||||
retval = PTR_ERR(file);
|
retval = PTR_ERR(file);
|
||||||
|
|
|
@ -1143,10 +1143,9 @@ int do_execve(char * filename,
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
retval = -ENOMEM;
|
retval = -ENOMEM;
|
||||||
bprm = kmalloc(sizeof(*bprm), GFP_KERNEL);
|
bprm = kzalloc(sizeof(*bprm), GFP_KERNEL);
|
||||||
if (!bprm)
|
if (!bprm)
|
||||||
goto out_ret;
|
goto out_ret;
|
||||||
memset(bprm, 0, sizeof(*bprm));
|
|
||||||
|
|
||||||
file = open_exec(filename);
|
file = open_exec(filename);
|
||||||
retval = PTR_ERR(file);
|
retval = PTR_ERR(file);
|
||||||
|
|
|
@ -662,10 +662,9 @@ struct inode* pipe_new(struct inode* inode)
|
||||||
{
|
{
|
||||||
struct pipe_inode_info *info;
|
struct pipe_inode_info *info;
|
||||||
|
|
||||||
info = kmalloc(sizeof(struct pipe_inode_info), GFP_KERNEL);
|
info = kzalloc(sizeof(struct pipe_inode_info), GFP_KERNEL);
|
||||||
if (!info)
|
if (!info)
|
||||||
goto fail_page;
|
goto fail_page;
|
||||||
memset(info, 0, sizeof(*info));
|
|
||||||
inode->i_pipe = info;
|
inode->i_pipe = info;
|
||||||
|
|
||||||
init_waitqueue_head(PIPE_WAIT(*inode));
|
init_waitqueue_head(PIPE_WAIT(*inode));
|
||||||
|
|
|
@ -55,11 +55,10 @@ DEFINE_SPINLOCK(sb_lock);
|
||||||
*/
|
*/
|
||||||
static struct super_block *alloc_super(void)
|
static struct super_block *alloc_super(void)
|
||||||
{
|
{
|
||||||
struct super_block *s = kmalloc(sizeof(struct super_block), GFP_USER);
|
struct super_block *s = kzalloc(sizeof(struct super_block), GFP_USER);
|
||||||
static struct super_operations default_op;
|
static struct super_operations default_op;
|
||||||
|
|
||||||
if (s) {
|
if (s) {
|
||||||
memset(s, 0, sizeof(struct super_block));
|
|
||||||
if (security_sb_alloc(s)) {
|
if (security_sb_alloc(s)) {
|
||||||
kfree(s);
|
kfree(s);
|
||||||
s = NULL;
|
s = NULL;
|
||||||
|
|
Loading…
Add table
Reference in a new issue