Re: [RFC][PATCH 2/8] breakout fdinfo sprintf() into its own function

From: Vegard Nossum
Date: Fri Feb 27 2009 - 15:56:22 EST


2009/2/27 Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>:
>
> I'll be adding to this in a moment and it is in a bad place
> to do that cleanly now.
>
> Also, increase the buffer size. ÂMost /proc files can
> output up to a page, so use the same here.
>
> Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>
> ---
>
> Âlinux-2.6.git-dave/fs/proc/base.c | Â 23 +++++++++++++++--------
> Â1 file changed, 15 insertions(+), 8 deletions(-)
>
> diff -puN fs/proc/base.c~breakout-fdinfo fs/proc/base.c
> --- linux-2.6.git/fs/proc/base.c~breakout-fdinfo    Â2009-02-27 12:07:37.000000000 -0800
> +++ linux-2.6.git-dave/fs/proc/base.c  2009-02-27 12:07:37.000000000 -0800
> @@ -1632,7 +1632,18 @@ out:
> Â Â Â Âreturn ~0U;
> Â}
>
> -#define PROC_FDINFO_MAX 64
> +#define PROC_FDINFO_MAX PAGE_SIZE
> +
> +static void proc_fd_write_info(struct file *file, char *info)
> +{
> + Â Â Â int max = PROC_FDINFO_MAX;
> + Â Â Â int p = 0;
> + Â Â Â if (!info)
> + Â Â Â Â Â Â Â return;
> +
> + Â Â Â p += snprintf(info+p, max-p, "pos:\t%lli\n", (long long) file->f_pos);
> + Â Â Â p += snprintf(info+p, max-p, "flags:\t0%o\n", file->f_flags);

Actually, snprintf() is not the right function to use here.
scnprintf(), perhaps?


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/