In case spufs_fill_dir() fails only put_spu_context() gets called for cleanup and the acquired mm_struct never gets freed. Signed-off-by: Sebastian Siewior Index: ps3-linux/arch/powerpc/platforms/cell/spufs/inode.c =================================================================== --- ps3-linux.orig/arch/powerpc/platforms/cell/spufs/inode.c +++ ps3-linux/arch/powerpc/platforms/cell/spufs/inode.c @@ -277,6 +277,7 @@ spufs_mkdir(struct inode *dir, struct de goto out; out_free_ctx: + spu_forget(ctx); put_spu_context(ctx); out_iput: iput(inode);