Re: [PATCH] Smackv10: Smack rules grammar + their stateful parser

From: Ahmed S. Darwish
Date: Sun Nov 04 2007 - 15:06:59 EST


On 11/3/07, Ahmed S. Darwish <darwish.07@xxxxxxxxx> wrote:
> static int smk_open_load(struct inode *inode, struct file *file)
> {
> - return seq_open(file, &load_seq_ops);
> + if ((file->f_flags & O_ACCMODE) == O_RDONLY)
> + return seq_open(file, &load_seq_ops);
> +
> + if (down_interruptible(&smack_write_sem))
> + return -ERESTARTSYS;
> +
> + load_state = kzalloc(sizeof(struct smack_load_state), GFP_KERNEL);
> + if (!load_state)
> + return -ENOMEM;
> +
> + return 0;
> +}

Is it right to do the kzalloc with the semaphore being held? Will the
lock be held forever If kzalloc failed and -ENOMEM was returned ?

Thanks,

--
Ahmed S. Darwish
Homepage: http://darwish.07.googlepages.com
Blog: http://darwish-07.blogspot.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/