lib/mpi: mpi_read_from_buffer(): sanitize short buffer printk
authorNicolai Stange <nicstange@gmail.com>
Thu, 26 May 2016 21:19:54 +0000 (23:19 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 31 May 2016 08:42:00 +0000 (16:42 +0800)
The first two bytes of the input buffer encode its expected length and
mpi_read_from_buffer() prints a console message if the given buffer is too
short.

However, there are some oddities with how this message is printed:
- It is printed at the default loglevel. This is different from the
  one used in the case that the first two bytes' value is unsupportedly
  large, i.e. KERN_INFO.
- The format specifier '%d' is used for unsigned ints.
- It prints the values of nread and *ret_nread. This is redundant since
  the former is always the latter + 1.

Clean this up as follows:
- Use pr_info() rather than printk() with no loglevel.
- Use the format specifiers '%u' in place if '%d'.
- Do not print the redundant 'nread' but the more helpful 'nbytes' value.

Signed-off-by: Nicolai Stange <nicstange@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
lib/mpi/mpicoder.c

index 9c6f6b986682a2979fdb6294c89d5365759b3bef..f4f9e3396f3eeb0b062cd612fc1654c108411879 100644 (file)
@@ -97,8 +97,8 @@ MPI mpi_read_from_buffer(const void *xbuffer, unsigned *ret_nread)
 
        nbytes = DIV_ROUND_UP(nbits, 8);
        if (nbytes + 2 > *ret_nread) {
-               printk("MPI: mpi larger than buffer nread=%d ret_nread=%d\n",
-                               *ret_nread + 1, *ret_nread);
+               pr_info("MPI: mpi larger than buffer nbytes=%u ret_nread=%u\n",
+                               nbytes, *ret_nread);
                return ERR_PTR(-EINVAL);
        }