lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VfTCwnc7zJ7YFPpJCMRskWDzdQhXxHuKOE8RqADD6Fkyg@mail.gmail.com>
Date:   Wed, 4 Jan 2017 11:33:14 +0200
From:   Andy Shevchenko <andy.shevchenko@...il.com>
To:     Alexey Dobriyan <adobriyan@...il.com>
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Rasmus Villemoes <linux@...musvillemoes.dk>
Subject: Re: [PATCH] lib/vsprintf.c: remove %Z support

On Wed, Jan 4, 2017 at 1:01 AM, Alexey Dobriyan <adobriyan@...il.com> wrote:
> Now that %z is standartised in C99 there is no reason to support %Z.
> Unlike %L it doesn't even make format strings smaller.

For the following files:
Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com>

>  drivers/net/ethernet/cadence/macb.c                         |    2
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |    2
>  drivers/net/wireless/intel/iwlegacy/4965-mac.c              |   30 ++---
>  drivers/net/wireless/intel/iwlwifi/iwl-drv.c                |   16 +--

>  kernel/relay.c                                              |    2
>  lib/vsprintf.c                                              |    8 -
>  mm/dmapool.c                                                |    2

>  sound/soc/soc-core.c                                        |    2

And couple of comment below.

> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -1566,7 +1566,7 @@ static void macb_init_rx_buffer_size(struct macb *bp, size_t size)
>                 }
>         }
>
> -       netdev_dbg(bp->dev, "mtu [%u] rx_buffer_size [%Zu]\n",
> +       netdev_dbg(bp->dev, "mtu [%u] rx_buffer_size [%zu]\n",
>                    bp->dev->mtu, bp->rx_buffer_size);
>  }

> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -4878,7 +4878,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
>                 kfree(af_params);
>         } else {
>                 brcmf_dbg(TRACE, "Unhandled, fc=%04x!!\n", mgmt->frame_control);
> -               brcmf_dbg_hex_dump(true, buf, len, "payload, len=%Zu\n", len);
> +               brcmf_dbg_hex_dump(true, buf, len, "payload, len=%zu\n", len);
>         }
>
>  exit:
> --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
> +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
> @@ -4855,39 +4855,39 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
>          */
>
>         D_INFO("f/w package hdr ucode version raw = 0x%x\n", il->ucode_ver);
> -       D_INFO("f/w package hdr runtime inst size = %Zd\n", pieces.inst_size);
> -       D_INFO("f/w package hdr runtime data size = %Zd\n", pieces.data_size);
> -       D_INFO("f/w package hdr init inst size = %Zd\n", pieces.init_size);
> -       D_INFO("f/w package hdr init data size = %Zd\n", pieces.init_data_size);
> -       D_INFO("f/w package hdr boot inst size = %Zd\n", pieces.boot_size);
> +       D_INFO("f/w package hdr runtime inst size = %zd\n", pieces.inst_size);
> +       D_INFO("f/w package hdr runtime data size = %zd\n", pieces.data_size);
> +       D_INFO("f/w package hdr init inst size = %zd\n", pieces.init_size);
> +       D_INFO("f/w package hdr init data size = %zd\n", pieces.init_data_size);
> +       D_INFO("f/w package hdr boot inst size = %zd\n", pieces.boot_size);
>
>         /* Verify that uCode images will fit in card's SRAM */
>         if (pieces.inst_size > il->hw_params.max_inst_size) {
> -               IL_ERR("uCode instr len %Zd too large to fit in\n",
> +               IL_ERR("uCode instr len %zd too large to fit in\n",
>                        pieces.inst_size);
>                 goto try_again;
>         }
>
>         if (pieces.data_size > il->hw_params.max_data_size) {
> -               IL_ERR("uCode data len %Zd too large to fit in\n",
> +               IL_ERR("uCode data len %zd too large to fit in\n",
>                        pieces.data_size);
>                 goto try_again;
>         }
>
>         if (pieces.init_size > il->hw_params.max_inst_size) {
> -               IL_ERR("uCode init instr len %Zd too large to fit in\n",
> +               IL_ERR("uCode init instr len %zd too large to fit in\n",
>                        pieces.init_size);
>                 goto try_again;
>         }
>
>         if (pieces.init_data_size > il->hw_params.max_data_size) {
> -               IL_ERR("uCode init data len %Zd too large to fit in\n",
> +               IL_ERR("uCode init data len %zd too large to fit in\n",
>                        pieces.init_data_size);
>                 goto try_again;
>         }
>
>         if (pieces.boot_size > il->hw_params.max_bsm_size) {
> -               IL_ERR("uCode boot instr len %Zd too large to fit in\n",
> +               IL_ERR("uCode boot instr len %zd too large to fit in\n",
>                        pieces.boot_size);
>                 goto try_again;
>         }
> @@ -4938,7 +4938,7 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
>         /* Copy images into buffers for card's bus-master reads ... */
>
>         /* Runtime instructions (first block of data in file) */
> -       D_INFO("Copying (but not loading) uCode instr len %Zd\n",
> +       D_INFO("Copying (but not loading) uCode instr len %zd\n",
>                pieces.inst_size);
>         memcpy(il->ucode_code.v_addr, pieces.inst, pieces.inst_size);
>
> @@ -4949,28 +4949,28 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
>          * Runtime data
>          * NOTE:  Copy into backup buffer will be done in il_up()
>          */
> -       D_INFO("Copying (but not loading) uCode data len %Zd\n",
> +       D_INFO("Copying (but not loading) uCode data len %zd\n",
>                pieces.data_size);
>         memcpy(il->ucode_data.v_addr, pieces.data, pieces.data_size);
>         memcpy(il->ucode_data_backup.v_addr, pieces.data, pieces.data_size);
>
>         /* Initialization instructions */
>         if (pieces.init_size) {
> -               D_INFO("Copying (but not loading) init instr len %Zd\n",
> +               D_INFO("Copying (but not loading) init instr len %zd\n",
>                        pieces.init_size);
>                 memcpy(il->ucode_init.v_addr, pieces.init, pieces.init_size);
>         }
>
>         /* Initialization data */
>         if (pieces.init_data_size) {
> -               D_INFO("Copying (but not loading) init data len %Zd\n",
> +               D_INFO("Copying (but not loading) init data len %zd\n",
>                        pieces.init_data_size);
>                 memcpy(il->ucode_init_data.v_addr, pieces.init_data,
>                        pieces.init_data_size);
>         }
>
>         /* Bootstrap instructions */
> -       D_INFO("Copying (but not loading) boot instr len %Zd\n",
> +       D_INFO("Copying (but not loading) boot instr len %zd\n",
>                pieces.boot_size);
>         memcpy(il->ucode_boot.v_addr, pieces.boot, pieces.boot_size);
>
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
> @@ -1096,21 +1096,21 @@ static int validate_sec_sizes(struct iwl_drv *drv,
>                               struct iwl_firmware_pieces *pieces,
>                               const struct iwl_cfg *cfg)
>  {
> -       IWL_DEBUG_INFO(drv, "f/w package hdr runtime inst size = %Zd\n",
> +       IWL_DEBUG_INFO(drv, "f/w package hdr runtime inst size = %zd\n",
>                 get_sec_size(pieces, IWL_UCODE_REGULAR,
>                              IWL_UCODE_SECTION_INST));
> -       IWL_DEBUG_INFO(drv, "f/w package hdr runtime data size = %Zd\n",
> +       IWL_DEBUG_INFO(drv, "f/w package hdr runtime data size = %zd\n",
>                 get_sec_size(pieces, IWL_UCODE_REGULAR,
>                              IWL_UCODE_SECTION_DATA));
> -       IWL_DEBUG_INFO(drv, "f/w package hdr init inst size = %Zd\n",
> +       IWL_DEBUG_INFO(drv, "f/w package hdr init inst size = %zd\n",
>                 get_sec_size(pieces, IWL_UCODE_INIT, IWL_UCODE_SECTION_INST));
> -       IWL_DEBUG_INFO(drv, "f/w package hdr init data size = %Zd\n",
> +       IWL_DEBUG_INFO(drv, "f/w package hdr init data size = %zd\n",
>                 get_sec_size(pieces, IWL_UCODE_INIT, IWL_UCODE_SECTION_DATA));
>
>         /* Verify that uCode images will fit in card's SRAM. */
>         if (get_sec_size(pieces, IWL_UCODE_REGULAR, IWL_UCODE_SECTION_INST) >
>             cfg->max_inst_size) {
> -               IWL_ERR(drv, "uCode instr len %Zd too large to fit in\n",
> +               IWL_ERR(drv, "uCode instr len %zd too large to fit in\n",
>                         get_sec_size(pieces, IWL_UCODE_REGULAR,
>                                      IWL_UCODE_SECTION_INST));
>                 return -1;
> @@ -1118,7 +1118,7 @@ static int validate_sec_sizes(struct iwl_drv *drv,
>
>         if (get_sec_size(pieces, IWL_UCODE_REGULAR, IWL_UCODE_SECTION_DATA) >
>             cfg->max_data_size) {
> -               IWL_ERR(drv, "uCode data len %Zd too large to fit in\n",
> +               IWL_ERR(drv, "uCode data len %zd too large to fit in\n",
>                         get_sec_size(pieces, IWL_UCODE_REGULAR,
>                                      IWL_UCODE_SECTION_DATA));
>                 return -1;
> @@ -1126,7 +1126,7 @@ static int validate_sec_sizes(struct iwl_drv *drv,
>
>         if (get_sec_size(pieces, IWL_UCODE_INIT, IWL_UCODE_SECTION_INST) >
>              cfg->max_inst_size) {
> -               IWL_ERR(drv, "uCode init instr len %Zd too large to fit in\n",
> +               IWL_ERR(drv, "uCode init instr len %zd too large to fit in\n",
>                         get_sec_size(pieces, IWL_UCODE_INIT,
>                                      IWL_UCODE_SECTION_INST));
>                 return -1;
> @@ -1134,7 +1134,7 @@ static int validate_sec_sizes(struct iwl_drv *drv,
>
>         if (get_sec_size(pieces, IWL_UCODE_INIT, IWL_UCODE_SECTION_DATA) >
>             cfg->max_data_size) {
> -               IWL_ERR(drv, "uCode init data len %Zd too large to fit in\n",
> +               IWL_ERR(drv, "uCode init data len %zd too large to fit in\n",
>                         get_sec_size(pieces, IWL_UCODE_REGULAR,
>                                      IWL_UCODE_SECTION_DATA));
>                 return -1;

> --- a/kernel/relay.c
> +++ b/kernel/relay.c
> @@ -847,7 +847,7 @@ void relay_close(struct rchan *chan)
>
>         if (chan->last_toobig)
>                 printk(KERN_WARNING "relay: one or more items not logged "
> -                      "[item size (%Zd) > sub-buffer size (%Zd)]\n",
> +                      "[item size (%zd) > sub-buffer size (%zd)]\n",
>                        chan->last_toobig, chan->subbuf_size);
>
>         list_del(&chan->list);

> --- a/lib/vsprintf.c
> +++ b/lib/vsprintf.c
> @@ -1739,6 +1739,7 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
>   * 'h', 'l', or 'L' for integer fields
>   * 'z' support added 23/7/1999 S.H.
>   * 'z' changed to 'Z' --davidm 1/25/99
> + * 'Z' changed to 'z' --adobriyan 2017-01-25
>   * 't' added for ptrdiff_t
>   *
>   * @fmt: the format string
> @@ -1838,7 +1839,7 @@ int format_decode(const char *fmt, struct printf_spec *spec)
>         /* get the conversion qualifier */
>         qualifier = 0;

>         if (*fmt == 'h' || _tolower(*fmt) == 'l' ||
> -           _tolower(*fmt) == 'z' || *fmt == 't') {
> +           *fmt == 'z' || *fmt == 't') {

Can it be one line?

> @@ -2657,7 +2658,7 @@ int vsscanf(const char *buf, const char *fmt, va_list args)
>                 /* get conversion qualifier */
>                 qualifier = -1;

>                 if (*fmt == 'h' || _tolower(*fmt) == 'l' ||
> -                   _tolower(*fmt) == 'z') {
> +                   *fmt == 'z') {

Ditto.

> --- a/mm/dmapool.c
> +++ b/mm/dmapool.c
> @@ -93,7 +93,7 @@ show_pools(struct device *dev, struct device_attribute *attr, char *buf)
>                 spin_unlock_irq(&pool->lock);
>
>                 /* per-pool info, no real statistics yet */
> -               temp = scnprintf(next, size, "%-16s %4u %4Zu %4Zu %2u\n",
> +               temp = scnprintf(next, size, "%-16s %4u %4zu %4zu %2u\n",
>                                  pool->name, blocks,
>                                  pages * (pool->allocation / pool->size),
>                                  pool->size, pages);

> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -2879,7 +2879,7 @@ static int snd_soc_register_dais(struct snd_soc_component *component,
>         unsigned int i;
>         int ret;
>
> -       dev_dbg(dev, "ASoC: dai register %s #%Zu\n", dev_name(dev), count);
> +       dev_dbg(dev, "ASoC: dai register %s #%zu\n", dev_name(dev), count);
>
>         component->dai_drv = dai_drv;

-- 
With Best Regards,
Andy Shevchenko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ