Messages in this thread | | | Date | Sat, 19 Nov 2005 12:37:33 +0200 | From | Pekka Enberg <> | Subject | Re: [PATCH 5/12: eCryptfs] Header declarations |
| |
Hi Phillip,
On 11/19/05, Phillip Hellewell <phillip@hellewell.homeip.net> wrote: > +struct ecryptfs_session_key { > +#define ECRYPTFS_USERSPACE_SHOULD_TRY_TO_DECRYPT 0x01 > +#define ECRYPTFS_USERSPACE_SHOULD_TRY_TO_ENCRYPT 0x02 > +#define ECRYPTFS_CONTAINS_DECRYPTED_KEY 0x04 > +#define ECRYPTFS_CONTAINS_ENCRYPTED_KEY 0x08 > + int32_t flags; > + int32_t encrypted_key_size; > + int32_t decrypted_key_size; > + uint8_t decrypted_key[ECRYPTFS_MAX_KEY_BYTES]; > + uint8_t encrypted_key[ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES];
s32 and u8 are preferred in the kernel.
> +#define OBSERVE_ASSERTS 1 > +#ifdef OBSERVE_ASSERTS > +#define ASSERT(EX) \ > +do { \ > + if (unlikely(!(EX))) { \ > + printk(KERN_CRIT "ASSERTION FAILED: %s at %s:%d (%s)\n", #EX, \ > + __FILE__, __LINE__, __FUNCTION__); \ > + BUG(); \ > + } \ > +} while (0) > +#else > +#define ASSERT(EX) ; > +#endif /* OBSERVE_ASSERTS */
Any reason why you can't just use BUG and BUG_ON()?
> + > +/** > + * Halcrow: What does the kernel VFS do to ensure that there is no > + * contention for file->private_data? > + */
Please elaborate?
> +#define ECRYPTFS_FILE_TO_PRIVATE(file) ((struct ecryptfs_file_info *) \ > + ((file)->private_data)) > +#define ECRYPTFS_FILE_TO_PRIVATE_SM(file) ((file)->private_data) > +#define ECRYPTFS_FILE_TO_LOWER(file) \ > + ((ECRYPTFS_FILE_TO_PRIVATE(file))->wfi_file) > +#define ECRYPTFS_INODE_TO_PRIVATE(ino) ((struct ecryptfs_inode_info *) \ > + (ino)->u.generic_ip) > +#define ECRYPTFS_INODE_TO_PRIVATE_SM(ino) ((ino)->u.generic_ip) > +#define ECRYPTFS_INODE_TO_LOWER(ino) (ECRYPTFS_INODE_TO_PRIVATE(ino)->wii_inode) > +#define ECRYPTFS_SUPERBLOCK_TO_PRIVATE(super) ((struct ecryptfs_sb_info *) \ > + (super)->s_fs_info) > +#define ECRYPTFS_SUPERBLOCK_TO_PRIVATE_SM(super) ((super)->s_fs_info) > +#define ECRYPTFS_SUPERBLOCK_TO_LOWER(super) \ > + (ECRYPTFS_SUPERBLOCK_TO_PRIVATE(super)->wsi_sb) > +#define ECRYPTFS_DENTRY_TO_PRIVATE_SM(dentry) ((dentry)->d_fsdata) > +#define ECRYPTFS_DENTRY_TO_PRIVATE(dentry) ((struct ecryptfs_dentry_info *) \ > + (dentry)->d_fsdata) > +#define ECRYPTFS_DENTRY_TO_LOWER(dentry) \ > + (ECRYPTFS_DENTRY_TO_PRIVATE(dentry)->wdi_dentry)
These wrappers seem rather pointless and obfuscating...
> +int virt_to_scatterlist(const void *addr, int size, struct scatterlist *sg, > + int sg_size);
Doesn't seem ecryptfs specific, why is it here?
Pekka - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |