unsigned int align; 
unsigned long align; 
int crypto_init_cipher_ops(struct crypto_tfm *tfm){	int ret = 0;	struct cipher_tfm *ops = &tfm->crt_cipher;	ops->cit_setkey = setkey;	switch (tfm->crt_cipher.cit_mode) {	case CRYPTO_TFM_MODE_ECB:		ops->cit_encrypt = ecb_encrypt;		ops->cit_decrypt = ecb_decrypt;		break;			case CRYPTO_TFM_MODE_CBC:		ops->cit_encrypt = cbc_encrypt;		ops->cit_decrypt = cbc_decrypt;		ops->cit_encrypt_iv = cbc_encrypt_iv;		ops->cit_decrypt_iv = cbc_decrypt_iv;		break;			case CRYPTO_TFM_MODE_CFB:		ops->cit_encrypt = nocrypt;		ops->cit_decrypt = nocrypt;		ops->cit_encrypt_iv = nocrypt_iv;		ops->cit_decrypt_iv = nocrypt_iv;		break;		case CRYPTO_TFM_MODE_CTR:		ops->cit_encrypt = nocrypt;		ops->cit_decrypt = nocrypt;		ops->cit_encrypt_iv = nocrypt_iv;		ops->cit_decrypt_iv = nocrypt_iv;		break;	default:		BUG();	}		if (ops->cit_mode == CRYPTO_TFM_MODE_CBC) {		unsigned int align;		unsigned long addr;	    		    	switch (crypto_tfm_alg_blocksize(tfm)) {	    	case 8:	    		ops->cit_xor_block = xor_64;	    		break;	    			    	case 16:	    		ops->cit_xor_block = xor_128;	    		break;	    			    	default:	    		printk(KERN_WARNING "%s: block size %u not supported\n",	    		       crypto_tfm_alg_name(tfm),	    		       crypto_tfm_alg_blocksize(tfm));	    		ret = -EINVAL;	    		goto out;	    	}	    			ops->cit_ivsize = crypto_tfm_alg_blocksize(tfm);		align = crypto_tfm_alg_alignmask(tfm) + 1;		addr = (unsigned long)crypto_tfm_ctx(tfm);		addr = ALIGN(addr, align);		addr += ALIGN(tfm->__crt_alg->cra_ctxsize, align);		ops->cit_iv = (void *)addr;	}out:		return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9d853c3757ef74ded5ae564d68370f22208fb88b/cipher.c/buggy/crypto/cipher.c