All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: kernel test robot <lkp@intel.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org
Subject: Re: drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being...
Date: Wed, 7 Sep 2022 16:59:52 -0700	[thread overview]
Message-ID: <202209071657.0A6FF97@keescook> (raw)
In-Reply-To: <202209031855.LVCj2Q6u-lkp@intel.com>

On Sat, Sep 03, 2022 at 06:08:27PM +0800, kernel test robot wrote:
> Hi Kees,
> 
> FYI, the error/warning still remains.

Thanks for the heads-up. This appears unrelated to the treewide change
-- it just became a bit louder. The unaligned access warning was always
present. "pahole" output shows no changes to struct member offsets nor
struct sizes.

-Kees

> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   d895ec7938c431fe61a731939da76a6461bc6133
> commit: fa7845cfd53f3b1d3f60efa55db89805595bc045 treewide: Replace open-coded flex arrays in unions
> date:   11 months ago
> config: arm-randconfig-r031-20220903 (https://download.01.org/0day-ci/archive/20220903/202209031855.LVCj2Q6u-lkp@intel.com/config)
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # install arm cross compiling tool for clang build
>         # apt-get install binutils-arm-linux-gnueabi
>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa7845cfd53f3b1d3f60efa55db89805595bc045
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout fa7845cfd53f3b1d3f60efa55db89805595bc045
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/net/
> 
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from drivers/net/wireless/ath/ath10k/mac.c:8:
>    In file included from drivers/net/wireless/ath/ath10k/mac.h:11:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/mac.c:5942:22: warning: parameter 'changed_flags' set but not used [-Wunused-but-set-parameter]
>                                        unsigned int changed_flags,
>                                                     ^
>    5 warnings generated.
> --
>    In file included from drivers/net/wireless/ath/ath10k/debug.c:14:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    4 warnings generated.
> --
>    In file included from drivers/net/wireless/ath/ath10k/ce.c:8:
>    In file included from drivers/net/wireless/ath/ath10k/hif.h:11:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/ce.c:127:1: warning: unused function 'ath10k_get_ring_byte' [-Wunused-function]
>    ath10k_get_ring_byte(unsigned int offset,
>    ^
>    drivers/net/wireless/ath/ath10k/ce.c:212:1: warning: unused function 'ath10k_ce_shadow_dest_ring_write_index_set' [-Wunused-function]
>    ath10k_ce_shadow_dest_ring_write_index_set(struct ath10k *ar,
>    ^
>    drivers/net/wireless/ath/ath10k/ce.c:449:20: warning: unused function 'ath10k_ce_error_intr_enable' [-Wunused-function]
>    static inline void ath10k_ce_error_intr_enable(struct ath10k *ar,
>                       ^
>    7 warnings generated.
> 
> 
> vim +1677 drivers/net/wireless/ath/ath10k/htt.h
> 
>   1670	
>   1671	struct htt_tx_fetch_ind {
>   1672		u8 pad0;
>   1673		__le16 fetch_seq_num;
>   1674		__le32 token;
>   1675		__le16 num_resp_ids;
>   1676		__le16 num_records;
> > 1677		union {
>   1678			/* ath10k_htt_get_tx_fetch_ind_resp_ids() */
>   1679			DECLARE_FLEX_ARRAY(__le32, resp_ids);
>   1680			DECLARE_FLEX_ARRAY(struct htt_tx_fetch_record, records);
>   1681		};
>   1682	} __packed;
>   1683	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

-- 
Kees Cook

WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: kbuild-all@lists.01.org
Subject: Re: drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being...
Date: Wed, 07 Sep 2022 16:59:52 -0700	[thread overview]
Message-ID: <202209071657.0A6FF97@keescook> (raw)
In-Reply-To: <202209031855.LVCj2Q6u-lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 8483 bytes --]

On Sat, Sep 03, 2022 at 06:08:27PM +0800, kernel test robot wrote:
> Hi Kees,
> 
> FYI, the error/warning still remains.

Thanks for the heads-up. This appears unrelated to the treewide change
-- it just became a bit louder. The unaligned access warning was always
present. "pahole" output shows no changes to struct member offsets nor
struct sizes.

-Kees

> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   d895ec7938c431fe61a731939da76a6461bc6133
> commit: fa7845cfd53f3b1d3f60efa55db89805595bc045 treewide: Replace open-coded flex arrays in unions
> date:   11 months ago
> config: arm-randconfig-r031-20220903 (https://download.01.org/0day-ci/archive/20220903/202209031855.LVCj2Q6u-lkp(a)intel.com/config)
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # install arm cross compiling tool for clang build
>         # apt-get install binutils-arm-linux-gnueabi
>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa7845cfd53f3b1d3f60efa55db89805595bc045
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout fa7845cfd53f3b1d3f60efa55db89805595bc045
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/net/
> 
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from drivers/net/wireless/ath/ath10k/mac.c:8:
>    In file included from drivers/net/wireless/ath/ath10k/mac.h:11:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/mac.c:5942:22: warning: parameter 'changed_flags' set but not used [-Wunused-but-set-parameter]
>                                        unsigned int changed_flags,
>                                                     ^
>    5 warnings generated.
> --
>    In file included from drivers/net/wireless/ath/ath10k/debug.c:14:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    4 warnings generated.
> --
>    In file included from drivers/net/wireless/ath/ath10k/ce.c:8:
>    In file included from drivers/net/wireless/ath/ath10k/hif.h:11:
>    In file included from drivers/net/wireless/ath/ath10k/core.h:18:
>    drivers/net/wireless/ath/ath10k/htt.h:721:34: warning: field prefix within 'struct htt_rx_indication' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
>    drivers/net/wireless/ath/ath10k/htt.h:742:34: warning: field prefix within 'struct htt_rx_indication_hl' is less aligned than 'struct htt_rx_indication_prefix' and is usually due to 'struct htt_rx_indication_hl' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            struct htt_rx_indication_prefix prefix;
>                                            ^
> >> drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field  within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/htt.h:1815:2: warning: field  within 'struct htt_resp' is less aligned than 'union htt_resp::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1815:2)' and is usually due to 'struct htt_resp' being packed, which can lead to unaligned accesses [-Wunaligned-access]
>            union {
>            ^
>    drivers/net/wireless/ath/ath10k/ce.c:127:1: warning: unused function 'ath10k_get_ring_byte' [-Wunused-function]
>    ath10k_get_ring_byte(unsigned int offset,
>    ^
>    drivers/net/wireless/ath/ath10k/ce.c:212:1: warning: unused function 'ath10k_ce_shadow_dest_ring_write_index_set' [-Wunused-function]
>    ath10k_ce_shadow_dest_ring_write_index_set(struct ath10k *ar,
>    ^
>    drivers/net/wireless/ath/ath10k/ce.c:449:20: warning: unused function 'ath10k_ce_error_intr_enable' [-Wunused-function]
>    static inline void ath10k_ce_error_intr_enable(struct ath10k *ar,
>                       ^
>    7 warnings generated.
> 
> 
> vim +1677 drivers/net/wireless/ath/ath10k/htt.h
> 
>   1670	
>   1671	struct htt_tx_fetch_ind {
>   1672		u8 pad0;
>   1673		__le16 fetch_seq_num;
>   1674		__le32 token;
>   1675		__le16 num_resp_ids;
>   1676		__le16 num_records;
> > 1677		union {
>   1678			/* ath10k_htt_get_tx_fetch_ind_resp_ids() */
>   1679			DECLARE_FLEX_ARRAY(__le32, resp_ids);
>   1680			DECLARE_FLEX_ARRAY(struct htt_tx_fetch_record, records);
>   1681		};
>   1682	} __packed;
>   1683	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

-- 
Kees Cook

  reply	other threads:[~2022-09-07 23:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-03 10:08 drivers/net/wireless/ath/ath10k/htt.h:1677:2: warning: field within 'struct htt_tx_fetch_ind' is less aligned than 'union htt_tx_fetch_ind::(anonymous at drivers/net/wireless/ath/ath10k/htt.h:1677:2)' and is usually due to 'struct htt_tx_fetch_ind' being kernel test robot
2022-09-07 23:59 ` Kees Cook [this message]
2022-09-07 23:59   ` Kees Cook
  -- strict thread matches above, loose matches on Subject: below --
2022-08-03 20:21 kernel test robot
2022-06-08 18:14 kernel test robot
2022-05-24  9:26 kernel test robot
2022-04-03  1:34 kernel test robot
2022-02-07 11:02 kernel test robot
2022-02-07 11:02 ` kernel test robot
2022-01-27 20:40 kernel test robot
2022-01-27 20:40 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202209071657.0A6FF97@keescook \
    --to=keescook@chromium.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.