linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pekka Enberg <penberg@cs.helsinki.fi>
To: Phillip Hellewell <phillip@hellewell.homeip.net>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, viro@ftp.linux.org.uk,
	mike@halcrow.us, mhalcrow@us.ibm.com, mcthomps@us.ibm.com,
	yoder1@us.ibm.com
Subject: Re: [PATCH 5/12: eCryptfs] Header declarations
Date: Sat, 19 Nov 2005 12:37:33 +0200	[thread overview]
Message-ID: <84144f020511190237w8b5404em461bb2eaf5fa8ea6@mail.gmail.com> (raw)
In-Reply-To: <20051119041837.GE15747@sshock.rn.byu.edu>

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

  reply	other threads:[~2005-11-19 10:37 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-19  4:11 [PATCH 0/12: eCryptfs] eCryptfs version 0.1 Phillip Hellewell
2005-11-19  4:14 ` [PATCH 1/12: eCryptfs] Makefile and Kconfig Phillip Hellewell
2005-11-19  4:16 ` [PATCH 2/12: eCryptfs] Documentation Phillip Hellewell
2005-11-19  4:16 ` [PATCH 3/12: eCryptfs] Makefile Phillip Hellewell
2005-11-19  4:17 ` [PATCH 4/12: eCryptfs] Main module functions Phillip Hellewell
2005-11-19 10:47   ` Pekka Enberg
2005-11-20 15:34     ` Anton Altaparmakov
2005-11-20 19:06       ` Pekka Enberg
2005-11-21 16:10     ` Michael Thompson
2005-11-21 16:12       ` Michael Thompson
2005-11-21 16:21       ` Pekka Enberg
2005-11-19  4:18 ` [PATCH 5/12: eCryptfs] Header declarations Phillip Hellewell
2005-11-19 10:37   ` Pekka Enberg [this message]
2005-11-21 15:50     ` Michael Thompson
2005-11-19  4:19 ` [PATCH 6/12: eCryptfs] Superblock operations Phillip Hellewell
2005-11-19 10:50   ` Pekka Enberg
2005-11-21 15:57     ` Michael Thompson
2005-11-21 16:01       ` Pekka Enberg
2005-11-21 16:13         ` Michael Thompson
2005-11-21 16:15           ` Michael Thompson
2005-11-21 16:20             ` Pekka Enberg
2005-11-19  4:20 ` [PATCH 7/12: eCryptfs] File operations Phillip Hellewell
2005-11-19 10:53   ` Pekka Enberg
2005-11-21 15:58     ` Michael Thompson
2005-11-19  4:20 ` [PATCH 8/12: eCryptfs] Dentry operations Phillip Hellewell
2005-11-19  4:21 ` [PATCH 9/12: eCryptfs] Inode operations Phillip Hellewell
2005-11-19  4:22 ` [PATCH 10/12: eCryptfs] Mmap operations Phillip Hellewell
2005-11-19  4:23 ` [PATCH 11/12: eCryptfs] Keystore Phillip Hellewell
2005-11-19  4:23 ` [PATCH 12/12: eCryptfs] Crypto functions Phillip Hellewell
2005-11-19  6:16 ` [PATCH 0/12: eCryptfs] eCryptfs version 0.1 Andrew Morton
2005-11-21 20:28   ` Michael Halcrow
2005-11-21 21:41     ` James Morris
2005-11-21 22:11       ` Michael Thompson
  -- strict thread matches above, loose matches on Subject: below --
2005-11-03  3:32 Phillip Hellewell
2005-11-03  3:50 ` [PATCH 5/12: eCryptfs] Header declarations Phillip Hellewell
2005-11-03 23:37   ` James Morris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84144f020511190237w8b5404em461bb2eaf5fa8ea6@mail.gmail.com \
    --to=penberg@cs.helsinki.fi \
    --cc=akpm@osdl.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcthomps@us.ibm.com \
    --cc=mhalcrow@us.ibm.com \
    --cc=mike@halcrow.us \
    --cc=phillip@hellewell.homeip.net \
    --cc=viro@ftp.linux.org.uk \
    --cc=yoder1@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).