|
@@ -74,10 +74,11 @@ struct readdir_callback {
|
|
|
int result;
|
|
|
};
|
|
|
|
|
|
-static int fillonedir(void * __buf, const char * name, int namlen, loff_t offset,
|
|
|
- u64 ino, unsigned int d_type)
|
|
|
+static int fillonedir(struct dir_context *ctx, const char *name, int namlen,
|
|
|
+ loff_t offset, u64 ino, unsigned int d_type)
|
|
|
{
|
|
|
- struct readdir_callback *buf = (struct readdir_callback *) __buf;
|
|
|
+ struct readdir_callback *buf =
|
|
|
+ container_of(ctx, struct readdir_callback, ctx);
|
|
|
struct old_linux_dirent __user * dirent;
|
|
|
unsigned long d_ino;
|
|
|
|
|
@@ -148,11 +149,12 @@ struct getdents_callback {
|
|
|
int error;
|
|
|
};
|
|
|
|
|
|
-static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
|
|
|
- u64 ino, unsigned int d_type)
|
|
|
+static int filldir(struct dir_context *ctx, const char *name, int namlen,
|
|
|
+ loff_t offset, u64 ino, unsigned int d_type)
|
|
|
{
|
|
|
struct linux_dirent __user * dirent;
|
|
|
- struct getdents_callback * buf = (struct getdents_callback *) __buf;
|
|
|
+ struct getdents_callback *buf =
|
|
|
+ container_of(ctx, struct getdents_callback, ctx);
|
|
|
unsigned long d_ino;
|
|
|
int reclen = ALIGN(offsetof(struct linux_dirent, d_name) + namlen + 2,
|
|
|
sizeof(long));
|
|
@@ -232,11 +234,12 @@ struct getdents_callback64 {
|
|
|
int error;
|
|
|
};
|
|
|
|
|
|
-static int filldir64(void * __buf, const char * name, int namlen, loff_t offset,
|
|
|
- u64 ino, unsigned int d_type)
|
|
|
+static int filldir64(struct dir_context *ctx, const char *name, int namlen,
|
|
|
+ loff_t offset, u64 ino, unsigned int d_type)
|
|
|
{
|
|
|
struct linux_dirent64 __user *dirent;
|
|
|
- struct getdents_callback64 * buf = (struct getdents_callback64 *) __buf;
|
|
|
+ struct getdents_callback64 *buf =
|
|
|
+ container_of(ctx, struct getdents_callback64, ctx);
|
|
|
int reclen = ALIGN(offsetof(struct linux_dirent64, d_name) + namlen + 1,
|
|
|
sizeof(u64));
|
|
|
|