[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
On Tue, Nov 7, 2023 at 9:42 AM Juergen Gross <jgross@xxxxxxxx> wrote: > > On 07.11.23 15:04, Jason Andryuk wrote: > > On Wed, Nov 1, 2023 at 5:34 AM Juergen Gross <jgross@xxxxxxxx> wrote: > >> > >> Add the stat request of the 9pfs protocol. > >> > >> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> > >> --- > >> tools/xenlogd/io.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++ > >> 1 file changed, 89 insertions(+) > >> > >> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c > >> index 34f137be1b..6e92667fab 100644 > >> --- a/tools/xenlogd/io.c > >> +++ b/tools/xenlogd/io.c > >> @@ -33,6 +33,7 @@ > > > >> +static void fill_p9_stat(struct p9_stat *p9s, struct stat *st, const char > >> *name) > >> +{ > >> + memset(p9s, 0, sizeof(*p9s)); > >> + fill_qid(NULL, &p9s->qid, st); > >> + p9s->mode = st->st_mode & 0777; > >> + if ( S_ISDIR(st->st_mode) ) > >> + p9s->mode |= P9_CREATE_PERM_DIR; > >> + p9s->atime = st->st_atime; > >> + p9s->mtime = st->st_mtime; > >> + p9s->length = st->st_size; > >> + p9s->name = name; > >> + p9s->uid = ""; > >> + p9s->gid = ""; > >> + p9s->muid = ""; > >> + p9s->extension = ""; > >> + p9s->n_uid = 0; > >> + p9s->n_gid = 0; > > > > If the daemon is running as root and managing the directories, these > > probably match. Still, do we want uid & gid to be populated from the > > stat struct? > > I wouldn't want to do that. In the end the permissions of the daemon are > relevant for being able to access the files. There is no need to leak any > uids and gids from the host to the guests. Ok. > > > >> + p9s->n_muid = 0; > >> + > >> + /* > >> + * Size of individual fields without the size field, including 5 > >> 2-byte > >> + * string length fields. > >> + */ > >> + p9s->size = 71 + strlen(p9s->name); > >> +} > >> + > >> +static void p9_stat(device *device, struct p9_header *hdr) > >> +{ > >> + uint32_t fid; > >> + struct p9_fid *fidp; > >> + struct p9_stat p9s; > >> + struct stat st; > >> + uint16_t total_length; > > > > total_length = 0; > > > > Otherwise it is used uninitialized. > > I don't think so. There is a single user just after setting the variable. Whoops - you are right. Sorry for the noise. Regards, Jason
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |