Re: [bug report] regmap: Support accelerated noinc operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 22, 2022 at 12:25 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:

> drivers/base/regmap/regmap.c
>     2132 static int regmap_noinc_readwrite(struct regmap *map, unsigned int reg,
>     2133                                   void *val, unsigned int val_len, bool write)
>     2134 {
>     2135         size_t val_bytes = map->format.val_bytes;
>     2136         size_t val_count = val_len / val_bytes;
>
> val_len is bytes.  val_count is elements.

Correct

>     2194         if (!ret && regmap_should_log(map)) {
>     2195                 dev_info(map->dev, "%x %s [", reg, write ? "<=" : "=>");
>     2196                 for (i = 0; i < val_len; i++) {
>                                          ^^^^^^^
> This should be val_count or it will beyond the end of the arrays.
>
>     2197                         switch (val_bytes) {
>     2198                         case 1:
>     2199                                 pr_cont("%x", u8p[i]);
>     2200                                 break;
>     2201                         case 2:
> --> 2202                                 pr_cont("%x", u16p[i]);
>     2203                                 break;
>     2204                         case 4:
>     2205                                 pr_cont("%x", u32p[i]);
>     2206                                 break;
>     2207 #ifdef CONFIG_64BIT
>     2208                         case 8:
>     2209                                 pr_cont("%llx", u64p[i]);
>     2210                                 break;
>     2211 #endif
>     2212                         default:
>     2213                                 break;
>     2214                         }
>     2215                         if (i == (val_len - 1))
>                                            ^^^^^^^
> val_count as well probably?

Good catch, I'll send a patch!

Yours,
Linus Walleij



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux