eCryptfs: Make all miscdev functions use daemon ptr in file private_data
authorTyler Hicks <tyhicks@canonical.com>
Mon, 11 Jun 2012 16:47:47 +0000 (09:47 -0700)
committerTyler Hicks <tyhicks@canonical.com>
Sun, 8 Jul 2012 17:51:44 +0000 (12:51 -0500)
commit2ecaf55db6dcf4dd25e1ef8d5eb6068e3286a20f
treedaa89105f89d64579d5ee04a376e4e31543871cf
parent566968866555a19d0a78e0bfa845cd249a7eeae2
eCryptfs: Make all miscdev functions use daemon ptr in file private_data

Now that a pointer to a valid struct ecryptfs_daemon is stored in the
private_data of an opened /dev/ecryptfs file, the remaining miscdev
functions can utilize the pointer rather than looking up the
ecryptfs_daemon at the beginning of each operation.

The security model of /dev/ecryptfs is simplified a little bit with this
patch. Upon opening /dev/ecryptfs, a per-user ecryptfs_daemon is
registered. Another daemon cannot be registered for that user until the
last file reference is released. During the lifetime of the
ecryptfs_daemon, access checks are not performed on the /dev/ecryptfs
operations because it is assumed that the application securely handles
the opened file descriptor and does not unintentionally leak it to
processes that are not trusted.

Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Cc: Sasha Levin <levinsasha928@gmail.com>
fs/ecryptfs/ecryptfs_kernel.h
fs/ecryptfs/messaging.c
fs/ecryptfs/miscdev.c