Re: [PATCH 4/5] mm: shmem: Convert shmem_enabled_show to use sysfs_emit_at

From: Joe Perches
Date: Sun Nov 01 2020 - 17:14:02 EST


On Sun, 2020-11-01 at 22:06 +0000, Matthew Wilcox wrote:
> Oh, ugh, sysfs_emit() should be able to work on a buffer that isn't
> page aligned. Greg, how about this?
>
> +++ b/fs/sysfs/file.c
> @@ -722,13 +722,13 @@ int sysfs_emit(char *buf, const char *fmt, ...)
>  {
>         va_list args;
>         int len;
> + int start = offset_in_page(buf);

I thought of that originally and didn't want to implement it that
way as it allows sysfs_emit to be used on non-page aligned buffers.

Using two functions makes sure the buf is always page aligned and
so buf should never defectively be passed in unaligned.