[intel-lts:5.10/preempt-rt 17162/17188] drivers/net/ethernet/intel/igc/igc_main.c:2709:17: warning: variable 'timestamp' set but not used
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.10/preempt-rt
head: 3ab3139402e6adc34f10481f1c1c60459bcd0a7e
commit: 765ce62a0644876bc2eb57fe84ab526f74129d6a [17162/17188] igc: Enable HW TX Timestamp for AF_XDP ZC
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 11.2.0
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
# https://github.com/intel/linux-intel-lts/commit/765ce62a0644876bc2eb57fe8...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.10/preempt-rt
git checkout 765ce62a0644876bc2eb57fe84ab526f74129d6a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/intel/igc/igc_main.c: In function 'igc_clean_tx_irq':
>> drivers/net/ethernet/intel/igc/igc_main.c:2709:17: warning: variable 'timestamp' set but not used [-Wunused-but-set-variable]
2709 | ktime_t timestamp = 0;
| ^~~~~~~~~
vim +/timestamp +2709 drivers/net/ethernet/intel/igc/igc_main.c
2692
2693 /**
2694 * igc_clean_tx_irq - Reclaim resources after transmit completes
2695 * @q_vector: pointer to q_vector containing needed info
2696 * @napi_budget: Used to determine if we are in netpoll
2697 *
2698 * returns true if ring is completely cleaned
2699 */
2700 static bool igc_clean_tx_irq(struct igc_q_vector *q_vector, int napi_budget)
2701 {
2702 struct igc_adapter *adapter = q_vector->adapter;
2703 unsigned int total_bytes = 0, total_packets = 0;
2704 unsigned int budget = q_vector->tx.work_limit;
2705 struct igc_ring *tx_ring = q_vector->tx.ring;
2706 unsigned int i = tx_ring->next_to_clean;
2707 struct igc_tx_buffer *tx_buffer;
2708 union igc_adv_tx_desc *tx_desc;
> 2709 ktime_t timestamp = 0;
2710 u32 xsk_frames = 0;
2711
2712 if (test_bit(__IGC_DOWN, &adapter->state))
2713 return true;
2714
2715 tx_buffer = &tx_ring->tx_buffer_info[i];
2716 tx_desc = IGC_TX_DESC(tx_ring, i);
2717 i -= tx_ring->count;
2718
2719 do {
2720 union igc_adv_tx_desc *eop_desc = tx_buffer->next_to_watch;
2721
2722 /* if next_to_watch is not set then there is no work pending */
2723 if (!eop_desc)
2724 break;
2725
2726 /* prevent any other reads prior to eop_desc */
2727 smp_rmb();
2728
2729 /* if DD is not set pending work has not been completed */
2730 if (!(eop_desc->wb.status & cpu_to_le32(IGC_TXD_STAT_DD)))
2731 break;
2732
2733 if (eop_desc->wb.status & cpu_to_le32(IGC_TXD_STAT_TS_STAT) &&
2734 tx_buffer->tx_flags & IGC_TX_FLAGS_DMA_TSTAMP) {
2735 u64 tstamp = le64_to_cpu(eop_desc->wb.dma_tstamp);
2736
2737 if (tx_ring->xsk_pool && adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON)
2738 timestamp = igc_tx_dma_hw_tstamp(adapter, tstamp);
2739 else
2740 igc_ptp_tx_dma_tstamp(adapter, tx_buffer->skb, tstamp);
2741 }
2742
2743 /* clear next_to_watch to prevent false hangs */
2744 tx_buffer->next_to_watch = NULL;
2745
2746 /* update the statistics for this packet */
2747 total_bytes += tx_buffer->bytecount;
2748 total_packets += tx_buffer->gso_segs;
2749
2750 switch (tx_buffer->type) {
2751 case IGC_TX_BUFFER_TYPE_XSK:
2752 xsk_frames++;
2753 break;
2754 case IGC_TX_BUFFER_TYPE_XDP:
2755 xdp_return_frame(tx_buffer->xdpf);
2756 igc_unmap_tx_buffer(tx_ring->dev, tx_buffer);
2757 break;
2758 case IGC_TX_BUFFER_TYPE_SKB:
2759 napi_consume_skb(tx_buffer->skb, napi_budget);
2760 igc_unmap_tx_buffer(tx_ring->dev, tx_buffer);
2761 break;
2762 default:
2763 netdev_warn_once(tx_ring->netdev,
2764 "Unknown tx buffer type\n");
2765 break;
2766 }
2767
2768 /* clear last DMA location and unmap remaining buffers */
2769 while (tx_desc != eop_desc) {
2770 tx_buffer++;
2771 tx_desc++;
2772 i++;
2773 if (unlikely(!i)) {
2774 i -= tx_ring->count;
2775 tx_buffer = tx_ring->tx_buffer_info;
2776 tx_desc = IGC_TX_DESC(tx_ring, 0);
2777 }
2778
2779 /* unmap any remaining paged data */
2780 if (dma_unmap_len(tx_buffer, len))
2781 igc_unmap_tx_buffer(tx_ring->dev, tx_buffer);
2782 }
2783
2784 /* move us one more past the eop_desc for start of next pkt */
2785 tx_buffer++;
2786 tx_desc++;
2787 i++;
2788 if (unlikely(!i)) {
2789 i -= tx_ring->count;
2790 tx_buffer = tx_ring->tx_buffer_info;
2791 tx_desc = IGC_TX_DESC(tx_ring, 0);
2792 }
2793
2794 /* issue prefetch for next Tx descriptor */
2795 prefetch(tx_desc);
2796
2797 /* update budget accounting */
2798 budget--;
2799 } while (likely(budget));
2800
2801 netdev_tx_completed_queue(txring_txq(tx_ring),
2802 total_packets, total_bytes);
2803
2804 i += tx_ring->count;
2805 tx_ring->next_to_clean = i;
2806
2807 igc_update_tx_stats(q_vector, total_packets, total_bytes);
2808
2809 if (tx_ring->xsk_pool) {
2810 if (xsk_frames)
2811 xsk_tx_completed(tx_ring->xsk_pool, xsk_frames);
2812 if (xsk_uses_need_wakeup(tx_ring->xsk_pool))
2813 xsk_set_tx_need_wakeup(tx_ring->xsk_pool);
2814 igc_xdp_xmit_zc(tx_ring);
2815 }
2816
2817 if (test_bit(IGC_RING_FLAG_TX_DETECT_HANG, &tx_ring->flags)) {
2818 struct igc_hw *hw = &adapter->hw;
2819
2820 /* Detect a transmit hang in hardware, this serializes the
2821 * check with the clearing of time_stamp and movement of i
2822 */
2823 clear_bit(IGC_RING_FLAG_TX_DETECT_HANG, &tx_ring->flags);
2824 if (tx_buffer->next_to_watch &&
2825 time_after(jiffies, tx_buffer->time_stamp +
2826 (adapter->tx_timeout_factor * HZ)) &&
2827 !(rd32(IGC_STATUS) & IGC_STATUS_TXOFF)) {
2828 /* detected Tx unit hang */
2829 netdev_err(tx_ring->netdev,
2830 "Detected Tx Unit Hang\n"
2831 " Tx Queue <%d>\n"
2832 " TDH <%x>\n"
2833 " TDT <%x>\n"
2834 " next_to_use <%x>\n"
2835 " next_to_clean <%x>\n"
2836 "buffer_info[next_to_clean]\n"
2837 " time_stamp <%lx>\n"
2838 " next_to_watch <%p>\n"
2839 " jiffies <%lx>\n"
2840 " desc.status <%x>\n",
2841 tx_ring->queue_index,
2842 rd32(IGC_TDH(tx_ring->reg_idx)),
2843 readl(tx_ring->tail),
2844 tx_ring->next_to_use,
2845 tx_ring->next_to_clean,
2846 tx_buffer->time_stamp,
2847 tx_buffer->next_to_watch,
2848 jiffies,
2849 tx_buffer->next_to_watch->wb.status);
2850 netif_stop_subqueue(tx_ring->netdev,
2851 tx_ring->queue_index);
2852
2853 /* we are about to reset, no point in enabling stuff */
2854 return true;
2855 }
2856 }
2857
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:2022:1: warning: unused function 'mlxsw_afa_sampler_mirror_agent_get'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6fd3ec5c7af58d5d6b598fba22ac387645af33f4
commit: ca19ea63f739c7a4e5dad64951706fea789e1f1a mlxsw: core_acl_flex_actions: Add mirror sampler action
date: 7 months ago
config: mips-randconfig-r013-20210928 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ca19ea63f739c7a4e5dad64951706fea789e1f1a
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/net/ethernet/mellanox/mlxsw/ mm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:119:1: note: expanded from here
mlxsw_afa_polcnt_c_p_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1736:1: warning: unused function 'mlxsw_afa_polcnt_counter_set_type_get'
MLXSW_ITEM32(afa, polcnt, counter_set_type, 0x04, 24, 8);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:152:1: note: expanded from here
mlxsw_afa_polcnt_counter_set_type_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1741:1: warning: unused function 'mlxsw_afa_polcnt_counter_index_get'
MLXSW_ITEM32(afa, polcnt, counter_index, 0x04, 0, 24);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:185:1: note: expanded from here
mlxsw_afa_polcnt_counter_index_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1747:1: warning: unused function 'mlxsw_afa_polcnt_pid_get'
MLXSW_ITEM32(afa, polcnt, pid, 0x08, 0, 14);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:26:1: note: expanded from here
mlxsw_afa_polcnt_pid_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1859:1: warning: unused function 'mlxsw_afa_virfwd_fid_cmd_get'
MLXSW_ITEM32(afa, virfwd, fid_cmd, 0x08, 29, 3);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:113:1: note: expanded from here
mlxsw_afa_virfwd_fid_cmd_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1864:1: warning: unused function 'mlxsw_afa_virfwd_fid_get'
MLXSW_ITEM32(afa, virfwd, fid, 0x08, 0, 16);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:146:1: note: expanded from here
mlxsw_afa_virfwd_fid_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1905:1: warning: unused function 'mlxsw_afa_mcrouter_rpf_action_get'
MLXSW_ITEM32(afa, mcrouter, rpf_action, 0x00, 28, 3);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:33:1: note: expanded from here
mlxsw_afa_mcrouter_rpf_action_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1908:1: warning: unused function 'mlxsw_afa_mcrouter_expected_irif_get'
MLXSW_ITEM32(afa, mcrouter, expected_irif, 0x00, 0, 16);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:66:1: note: expanded from here
mlxsw_afa_mcrouter_expected_irif_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1911:1: warning: unused function 'mlxsw_afa_mcrouter_min_mtu_get'
MLXSW_ITEM32(afa, mcrouter, min_mtu, 0x08, 0, 16);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:99:1: note: expanded from here
mlxsw_afa_mcrouter_min_mtu_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1921:1: warning: unused function 'mlxsw_afa_mcrouter_vrmid_get'
MLXSW_ITEM32(afa, mcrouter, vrmid, 0x0C, 31, 1);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:132:1: note: expanded from here
mlxsw_afa_mcrouter_vrmid_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1929:1: warning: unused function 'mlxsw_afa_mcrouter_rigr_rmid_index_get'
MLXSW_ITEM32(afa, mcrouter, rigr_rmid_index, 0x0C, 0, 24);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:165:1: note: expanded from here
mlxsw_afa_mcrouter_rigr_rmid_index_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1979:1: warning: unused function 'mlxsw_afa_l4port_s_d_get'
MLXSW_ITEM32(afa, l4port, s_d, 0x00, 31, 1);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:30:1: note: expanded from here
mlxsw_afa_l4port_s_d_get
^
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:1984:1: warning: unused function 'mlxsw_afa_l4port_l4_port_get'
MLXSW_ITEM32(afa, l4port, l4_port, 0x08, 0, 16);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:63:1: note: expanded from here
mlxsw_afa_l4port_l4_port_get
^
>> drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:2022:1: warning: unused function 'mlxsw_afa_sampler_mirror_agent_get'
MLXSW_ITEM32(afa, sampler, mirror_agent, 0x04, 0, 3);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:112:1: note: expanded from here
mlxsw_afa_sampler_mirror_agent_get
^
>> drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c:2030:1: warning: unused function 'mlxsw_afa_sampler_mirror_probability_rate_get'
MLXSW_ITEM32(afa, sampler, mirror_probability_rate, 0x08, 0, 24);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char ^
<scratch space>:145:1: note: expanded from here
mlxsw_afa_sampler_mirror_probability_rate_get
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/atomic.h", .line = 153, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: ll $1, $2 # atomic_fetch_add
addu $0, $1, $3
sc $0, $2
beqz $0, 1b
.set pop
move $0, $1
'
clang-14: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 14.0.0 (git://gitmirror/llvm_project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
Target: mipsel-unknown-linux
Thread model: posix
InstalledDir: /opt/cross/clang-dc6e8dfdfe/bin
clang-14: note: diagnostic msg:
Makefile arch drivers fs include kernel mm net nr_bisected scripts source usr
vim +/mlxsw_afa_sampler_mirror_agent_get +2022 drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c
2018
2019 /* afa_sampler_mirror_agent
2020 * Mirror (SPAN) agent.
2021 */
> 2022 MLXSW_ITEM32(afa, sampler, mirror_agent, 0x04, 0, 3);
2023
2024 #define MLXSW_AFA_SAMPLER_RATE_MAX (BIT(24) - 1)
2025
2026 /* afa_sampler_mirror_probability_rate
2027 * Mirroring probability.
2028 * Valid values are 1 to 2^24 - 1
2029 */
> 2030 MLXSW_ITEM32(afa, sampler, mirror_probability_rate, 0x08, 0, 24);
2031
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[intel-lts:5.4/yocto 9730/18524] drivers/misc/xlink-pcie/local_host/mxlk_epf.c:104:6: error: no previous prototype for 'mxlk_register_host_irq'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: 8246417e2e14117a0a9f3625c2122fc26c92c6bd
commit: 792c8003efc4d75b5f52db70e7380b6a425bdba8 [9730/18524] xlink-pcie: XLink PCIe Remote and Local Host driver
config: powerpc64-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
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
# https://github.com/intel/linux-intel-lts/commit/792c8003efc4d75b5f52db70e...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.4/yocto
git checkout 792c8003efc4d75b5f52db70e7380b6a425bdba8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:104:6: error: no previous prototype for 'mxlk_register_host_irq' [-Werror=missing-prototypes]
104 | void mxlk_register_host_irq(struct mxlk *mxlk, irq_handler_t func)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:111:5: error: no previous prototype for 'mxlk_raise_irq' [-Werror=missing-prototypes]
111 | int mxlk_raise_irq(struct mxlk *mxlk, enum mxlk_doorbell_type type)
| ^~~~~~~~~~~~~~
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:144:5: error: no previous prototype for 'mxlk_copy_from_host_ll' [-Werror=missing-prototypes]
144 | int mxlk_copy_from_host_ll(struct mxlk *mxlk, int chan, int descs_num)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:152:5: error: no previous prototype for 'mxlk_copy_to_host_ll' [-Werror=missing-prototypes]
152 | int mxlk_copy_to_host_ll(struct mxlk *mxlk, int chan, int descs_num)
| ^~~~~~~~~~~~~~~~~~~~
drivers/misc/xlink-pcie/local_host/mxlk_epf.c: In function 'epf_bind':
>> drivers/misc/xlink-pcie/local_host/mxlk_epf.c:306:14: error: variable 'msi_capable' set but not used [-Werror=unused-but-set-variable]
306 | bool msi_capable = true;
| ^~~~~~~~~~~
In file included from arch/powerpc/include/asm/paca.h:15,
from arch/powerpc/include/asm/current.h:13,
from include/linux/thread_info.h:21,
from include/asm-generic/preempt.h:5,
from ./arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:10,
from drivers/misc/xlink-pcie/local_host/mxlk_epf.c:11:
In function 'strncpy',
inlined from 'epf_bind' at drivers/misc/xlink-pcie/local_host/mxlk_epf.c:392:2:
>> include/linux/string.h:294:33: error: '__builtin_strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]
294 | #define __underlying_strncpy __builtin_strncpy
| ^
include/linux/string.h:304:16: note: in expansion of macro '__underlying_strncpy'
304 | return __underlying_strncpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~~
In function 'strncpy',
inlined from 'epf_bind' at drivers/misc/xlink-pcie/local_host/mxlk_epf.c:399:2:
>> include/linux/string.h:294:33: error: '__builtin_strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]
294 | #define __underlying_strncpy __builtin_strncpy
| ^
include/linux/string.h:304:16: note: in expansion of macro '__underlying_strncpy'
304 | return __underlying_strncpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
In file included from arch/powerpc/include/asm/paca.h:15,
from arch/powerpc/include/asm/current.h:13,
from include/linux/thread_info.h:21,
from include/asm-generic/preempt.h:5,
from ./arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:10,
from drivers/misc/xlink-pcie/local_host/mxlk_inf.c:11:
In function 'strncpy',
inlined from 'xlink_pcie_get_device_name' at drivers/misc/xlink-pcie/local_host/mxlk_inf.c:41:2:
>> include/linux/string.h:294:33: error: '__builtin_strncpy' output truncated copying between 0 and 13 bytes from a string of length 13 [-Werror=stringop-truncation]
294 | #define __underlying_strncpy __builtin_strncpy
| ^
include/linux/string.h:304:16: note: in expansion of macro '__underlying_strncpy'
304 | return __underlying_strncpy(p, q, size);
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/mxlk_register_host_irq +104 drivers/misc/xlink-pcie/local_host/mxlk_epf.c
103
> 104 void mxlk_register_host_irq(struct mxlk *mxlk, irq_handler_t func)
105 {
106 struct mxlk_epf *mxlk_epf = container_of(mxlk, struct mxlk_epf, mxlk);
107
108 mxlk_epf->core_irq_callback = func;
109 }
110
> 111 int mxlk_raise_irq(struct mxlk *mxlk, enum mxlk_doorbell_type type)
112 {
113 struct mxlk_epf *mxlk_epf = container_of(mxlk, struct mxlk_epf, mxlk);
114 struct pci_epf *epf = mxlk_epf->epf;
115
116 mxlk_set_doorbell(mxlk, FROM_DEVICE, type, 1);
117
118 return pci_epc_raise_irq(epf->epc, epf->func_no, PCI_EPC_IRQ_MSI, 1);
119 }
120
121 static void __iomem *mxlk_epc_alloc_addr(struct pci_epc *epc,
122 phys_addr_t *phys_addr, size_t size)
123 {
124 void __iomem *virt_addr;
125 unsigned long flags;
126
127 spin_lock_irqsave(&epc->lock, flags);
128 virt_addr = pci_epc_mem_alloc_addr(epc, phys_addr, size);
129 spin_unlock_irqrestore(&epc->lock, flags);
130
131 return virt_addr;
132 }
133
134 static void mxlk_epc_free_addr(struct pci_epc *epc, phys_addr_t phys_addr,
135 void __iomem *virt_addr, size_t size)
136 {
137 unsigned long flags;
138
139 spin_lock_irqsave(&epc->lock, flags);
140 pci_epc_mem_free_addr(epc, phys_addr, virt_addr, size);
141 spin_unlock_irqrestore(&epc->lock, flags);
142 }
143
> 144 int mxlk_copy_from_host_ll(struct mxlk *mxlk, int chan, int descs_num)
145 {
146 struct mxlk_epf *mxlk_epf = container_of(mxlk, struct mxlk_epf, mxlk);
147 struct pci_epf *epf = mxlk_epf->epf;
148
149 return mxlk_ep_dma_read_ll(epf, chan, descs_num);
150 }
151
> 152 int mxlk_copy_to_host_ll(struct mxlk *mxlk, int chan, int descs_num)
153 {
154 struct mxlk_epf *mxlk_epf = container_of(mxlk, struct mxlk_epf, mxlk);
155 struct pci_epf *epf = mxlk_epf->epf;
156
157 return mxlk_ep_dma_write_ll(epf, chan, descs_num);
158 }
159
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
Re: [PATCH net 2/2] can: isotp: fix tx buffer concurrent access in isotp_sendmsg()
by kernel test robot
Hi Ziyang,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net/master]
url: https://github.com/0day-ci/linux/commits/Ziyang-Xuan/fix-tx-buffer-concur...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git f936bb42aeb94a069bec7c9e04100d199c372956
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/95783210a32910b94c71ba6d13c3a027c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ziyang-Xuan/fix-tx-buffer-concurrent-access-protection/20210929-161555
git checkout 95783210a32910b94c71ba6d13c3a027c02d49d9
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from <command-line>:
net/can/isotp.c: In function 'isotp_sendmsg':
>> include/linux/compiler_types.h:322:45: error: call to '__compiletime_assert_544' declared with attribute error: BUILD_BUG failed
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:303:25: note: in definition of macro '__compiletime_assert'
303 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:322:9: note: in expansion of macro '_compiletime_assert'
322 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:59:21: note: in expansion of macro 'BUILD_BUG_ON_MSG'
59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed")
| ^~~~~~~~~~~~~~~~
arch/riscv/include/asm/cmpxchg.h:335:17: note: in expansion of macro 'BUILD_BUG'
335 | BUILD_BUG(); \
| ^~~~~~~~~
arch/riscv/include/asm/cmpxchg.h:344:30: note: in expansion of macro '__cmpxchg'
344 | (__typeof__(*(ptr))) __cmpxchg((ptr), \
| ^~~~~~~~~
include/linux/atomic/atomic-instrumented.h:1790:9: note: in expansion of macro 'arch_cmpxchg'
1790 | arch_cmpxchg(__ai_ptr, __VA_ARGS__); \
| ^~~~~~~~~~~~
net/can/isotp.c:864:13: note: in expansion of macro 'cmpxchg'
864 | if (cmpxchg(&so->tx.state, ISOTP_IDLE, ISOTP_SENDING) != ISOTP_IDLE ||
| ^~~~~~~
vim +/__compiletime_assert_544 +322 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 308
eb5c2d4b45e3d2 Will Deacon 2020-07-21 309 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 310 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 311
eb5c2d4b45e3d2 Will Deacon 2020-07-21 312 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 313 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 314 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 315 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 316 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 317 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 318 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 319 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 320 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 321 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @322 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 323
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[sashal-stable:pending-5.14 79/149] drivers/s390/net/qeth_core_main.c:80:9: error: too few arguments to function 'ccwgroup_set_offline'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.14
head: 0b2d949bae31b8e95b42dbe24d17245343115056
commit: e11938a3f3d7950ffc9160cdb3f03b351a8b8a17 [79/149] s390/qeth: fix deadlock during failing recovery
config: s390-allmodconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.14
git checkout e11938a3f3d7950ffc9160cdb3f03b351a8b8a17
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash drivers/s390/net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/s390/net/qeth_core_main.c: In function 'qeth_close_dev_handler':
>> drivers/s390/net/qeth_core_main.c:80:9: error: too few arguments to function 'ccwgroup_set_offline'
80 | ccwgroup_set_offline(card->gdev);
| ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/s390/net/qeth_core.h:44,
from drivers/s390/net/qeth_core_main.c:46:
arch/s390/include/asm/ccwgroup.h:60:5: note: declared here
60 | int ccwgroup_set_offline(struct ccwgroup_device *gdev, bool call_gdrv);
| ^~~~~~~~~~~~~~~~~~~~
drivers/s390/net/qeth_core_main.c: In function 'qeth_dbf_longtext':
drivers/s390/net/qeth_core_main.c:6251:9: warning: function 'qeth_dbf_longtext' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
6251 | vsnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args);
| ^~~~~~~~~
vim +/ccwgroup_set_offline +80 drivers/s390/net/qeth_core_main.c
4a71df50047f0d Frank Blaschka 2008-02-15 73
0f54761d167f98 Stefan Raspl 2013-01-21 74 static void qeth_close_dev_handler(struct work_struct *work)
0f54761d167f98 Stefan Raspl 2013-01-21 75 {
0f54761d167f98 Stefan Raspl 2013-01-21 76 struct qeth_card *card;
0f54761d167f98 Stefan Raspl 2013-01-21 77
0f54761d167f98 Stefan Raspl 2013-01-21 78 card = container_of(work, struct qeth_card, close_dev_work);
0f54761d167f98 Stefan Raspl 2013-01-21 79 QETH_CARD_TEXT(card, 2, "cldevhdl");
0f54761d167f98 Stefan Raspl 2013-01-21 @80 ccwgroup_set_offline(card->gdev);
0f54761d167f98 Stefan Raspl 2013-01-21 81 }
0f54761d167f98 Stefan Raspl 2013-01-21 82
:::::: The code at line 80 was first introduced by commit
:::::: 0f54761d167f98dd93cb19a16edbc47bb6574a28 qeth: Support VEPA mode
:::::: TO: Stefan Raspl <raspl(a)linux.vnet.ibm.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[lunn:v5.15-rc2-net-next-phy-lock 14/14] drivers/net/dsa/b53/b53_common.c:1297:19: error: implicit declaration of function 'b53_adjust_init'
by kernel test robot
tree: https://github.com/lunn/linux.git v5.15-rc2-net-next-phy-lock
head: a5fc611ff3720771a7c6c8f5acefff8708757020
commit: a5fc611ff3720771a7c6c8f5acefff8708757020 [14/14] net: phy: phy_init_eee: Add locking
config: hexagon-randconfig-r006-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 28981015526f2192440c18f18e8a20cd11b0779c)
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
# https://github.com/lunn/linux/commit/a5fc611ff3720771a7c6c8f5acefff870875...
git remote add lunn https://github.com/lunn/linux.git
git fetch --no-tags lunn v5.15-rc2-net-next-phy-lock
git checkout a5fc611ff3720771a7c6c8f5acefff8708757020
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/net/dsa/b53/b53_common.c:1297:19: error: implicit declaration of function 'b53_adjust_init' [-Werror,-Wimplicit-function-declaration]
p->eee_enabled = b53_adjust_init(ds, port, phydev);
^
drivers/net/dsa/b53/b53_common.c:1297:19: note: did you mean 'b53_adjust_link'?
drivers/net/dsa/b53/b53_common.c:1212:13: note: 'b53_adjust_link' declared here
static void b53_adjust_link(struct dsa_switch *ds, int port,
^
1 error generated.
vim +/b53_adjust_init +1297 drivers/net/dsa/b53/b53_common.c
1211
1212 static void b53_adjust_link(struct dsa_switch *ds, int port,
1213 struct phy_device *phydev)
1214 {
1215 struct b53_device *dev = ds->priv;
1216 struct ethtool_eee *p = &dev->ports[port].eee;
1217 u8 rgmii_ctrl = 0, reg = 0, off;
1218 bool tx_pause = false;
1219 bool rx_pause = false;
1220
1221 if (!phy_is_pseudo_fixed_link(phydev))
1222 return;
1223
1224 /* Enable flow control on BCM5301x's CPU port */
1225 if (is5301x(dev) && dsa_is_cpu_port(ds, port))
1226 tx_pause = rx_pause = true;
1227
1228 if (phydev->pause) {
1229 if (phydev->asym_pause)
1230 tx_pause = true;
1231 rx_pause = true;
1232 }
1233
1234 b53_force_port_config(dev, port, phydev->speed, phydev->duplex,
1235 tx_pause, rx_pause);
1236 b53_force_link(dev, port, phydev->link);
1237
1238 if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
1239 if (port == dev->imp_port)
1240 off = B53_RGMII_CTRL_IMP;
1241 else
1242 off = B53_RGMII_CTRL_P(port);
1243
1244 /* Configure the port RGMII clock delay by DLL disabled and
1245 * tx_clk aligned timing (restoring to reset defaults)
1246 */
1247 b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
1248 rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC |
1249 RGMII_CTRL_TIMING_SEL);
1250
1251 /* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make
1252 * sure that we enable the port TX clock internal delay to
1253 * account for this internal delay that is inserted, otherwise
1254 * the switch won't be able to receive correctly.
1255 *
1256 * PHY_INTERFACE_MODE_RGMII means that we are not introducing
1257 * any delay neither on transmission nor reception, so the
1258 * BCM53125 must also be configured accordingly to account for
1259 * the lack of delay and introduce
1260 *
1261 * The BCM53125 switch has its RX clock and TX clock control
1262 * swapped, hence the reason why we modify the TX clock path in
1263 * the "RGMII" case
1264 */
1265 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)
1266 rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
1267 if (phydev->interface == PHY_INTERFACE_MODE_RGMII)
1268 rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC;
1269 rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1270 b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl);
1271
1272 dev_info(ds->dev, "Configured port %d for %s\n", port,
1273 phy_modes(phydev->interface));
1274 }
1275
1276 /* configure MII port if necessary */
1277 if (is5325(dev)) {
1278 b53_read8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1279 ®);
1280
1281 /* reverse mii needs to be enabled */
1282 if (!(reg & PORT_OVERRIDE_RV_MII_25)) {
1283 b53_write8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1284 reg | PORT_OVERRIDE_RV_MII_25);
1285 b53_read8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1286 ®);
1287
1288 if (!(reg & PORT_OVERRIDE_RV_MII_25)) {
1289 dev_err(ds->dev,
1290 "Failed to enable reverse MII mode\n");
1291 return;
1292 }
1293 }
1294 }
1295
1296 /* Re-negotiate EEE if it was enabled already */
> 1297 p->eee_enabled = b53_adjust_init(ds, port, phydev);
1298 }
1299
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[hare-scsi-devel:scsi-result.v1 93/170] drivers/scsi/qlogicfas408.c:263:22: warning: variable 'result' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git scsi-result.v1
head: 8b1a0adf66803c2d24951496a97bfe401d17b777
commit: 041da41fe006ccff222ee1fc53861955577d28e9 [93/170] qlogicfac408: set SCSI result during ql_pcmd()
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commi...
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel scsi-result.v1
git checkout 041da41fe006ccff222ee1fc53861955577d28e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/scsi/qlogicfas408.c: In function 'ql_pcmd':
>> drivers/scsi/qlogicfas408.c:263:22: warning: variable 'result' set but not used [-Wunused-but-set-variable]
263 | unsigned int result; /* ultimate return result */
| ^~~~~~
vim +/result +263 drivers/scsi/qlogicfas408.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 254
^1da177e4c3f41 Linus Torvalds 2005-04-16 255 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 256 * Process scsi command - usually after interrupt
^1da177e4c3f41 Linus Torvalds 2005-04-16 257 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 258
041da41fe006cc Hannes Reinecke 2020-12-01 259 static void ql_pcmd(struct scsi_cmnd *cmd)
^1da177e4c3f41 Linus Torvalds 2005-04-16 260 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 261 unsigned int i, j;
^1da177e4c3f41 Linus Torvalds 2005-04-16 262 unsigned long k;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @263 unsigned int result; /* ultimate return result */
^1da177e4c3f41 Linus Torvalds 2005-04-16 264 unsigned int status; /* scsi returned status */
^1da177e4c3f41 Linus Torvalds 2005-04-16 265 unsigned int message; /* scsi returned message */
^1da177e4c3f41 Linus Torvalds 2005-04-16 266 unsigned int phase; /* recorded scsi phase */
^1da177e4c3f41 Linus Torvalds 2005-04-16 267 unsigned int reqlen; /* total length of transfer */
^1da177e4c3f41 Linus Torvalds 2005-04-16 268 char *buf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 269 struct qlogicfas408_priv *priv = get_priv_by_cmd(cmd);
^1da177e4c3f41 Linus Torvalds 2005-04-16 270 int qbase = priv->qbase;
^1da177e4c3f41 Linus Torvalds 2005-04-16 271 int int_type = priv->int_type;
^1da177e4c3f41 Linus Torvalds 2005-04-16 272
^1da177e4c3f41 Linus Torvalds 2005-04-16 273 rtrc(1)
^1da177e4c3f41 Linus Torvalds 2005-04-16 274 j = inb(qbase + 6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 275 i = inb(qbase + 5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 276 if (i == 0x20) {
041da41fe006cc Hannes Reinecke 2020-12-01 277 set_host_byte(cmd, DID_NO_CONNECT);
041da41fe006cc Hannes Reinecke 2020-12-01 278 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 279 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 280 i |= inb(qbase + 5); /* the 0x10 bit can be set after the 0x08 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 281 if (i != 0x18) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 282 printk(KERN_ERR "Ql:Bad Interrupt status:%02x\n", i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 283 ql_zap(priv);
041da41fe006cc Hannes Reinecke 2020-12-01 284 set_host_byte(cmd, DID_BAD_INTR);
041da41fe006cc Hannes Reinecke 2020-12-01 285 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 286 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 287 j &= 7; /* j = inb( qbase + 7 ) >> 5; */
^1da177e4c3f41 Linus Torvalds 2005-04-16 288
^1da177e4c3f41 Linus Torvalds 2005-04-16 289 /* correct status is supposed to be step 4 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 290 /* it sometimes returns step 3 but with 0 bytes left to send */
^1da177e4c3f41 Linus Torvalds 2005-04-16 291 /* We can try stuffing the FIFO with the max each time, but we will get a
^1da177e4c3f41 Linus Torvalds 2005-04-16 292 sequence of 3 if any bytes are left (but we do flush the FIFO anyway */
^1da177e4c3f41 Linus Torvalds 2005-04-16 293
^1da177e4c3f41 Linus Torvalds 2005-04-16 294 if (j != 3 && j != 4) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 295 printk(KERN_ERR "Ql:Bad sequence for command %d, int %02X, cmdleft = %d\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 296 j, i, inb(qbase + 7) & 0x1f);
^1da177e4c3f41 Linus Torvalds 2005-04-16 297 ql_zap(priv);
041da41fe006cc Hannes Reinecke 2020-12-01 298 set_host_byte(cmd, DID_ERROR);
041da41fe006cc Hannes Reinecke 2020-12-01 299 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 300 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 301 result = DID_OK;
^1da177e4c3f41 Linus Torvalds 2005-04-16 302 if (inb(qbase + 7) & 0x1f) /* if some bytes in fifo */
^1da177e4c3f41 Linus Torvalds 2005-04-16 303 outb(1, qbase + 3); /* clear fifo */
^1da177e4c3f41 Linus Torvalds 2005-04-16 304 /* note that request_bufflen is the total xfer size when sg is used */
bc1ebfba1a3a27 FUJITA Tomonori 2007-05-14 305 reqlen = scsi_bufflen(cmd);
^1da177e4c3f41 Linus Torvalds 2005-04-16 306 /* note that it won't work if transfers > 16M are requested */
^1da177e4c3f41 Linus Torvalds 2005-04-16 307 if (reqlen && !((phase = inb(qbase + 4)) & 6)) { /* data phase */
bc1ebfba1a3a27 FUJITA Tomonori 2007-05-14 308 struct scatterlist *sg;
^1da177e4c3f41 Linus Torvalds 2005-04-16 309 rtrc(2)
^1da177e4c3f41 Linus Torvalds 2005-04-16 310 outb(reqlen, qbase); /* low-mid xfer cnt */
^1da177e4c3f41 Linus Torvalds 2005-04-16 311 outb(reqlen >> 8, qbase + 1); /* low-mid xfer cnt */
^1da177e4c3f41 Linus Torvalds 2005-04-16 312 outb(reqlen >> 16, qbase + 0xe); /* high xfer cnt */
^1da177e4c3f41 Linus Torvalds 2005-04-16 313 outb(0x90, qbase + 3); /* command do xfer */
^1da177e4c3f41 Linus Torvalds 2005-04-16 314 /* PIO pseudo DMA to buffer or sglist */
^1da177e4c3f41 Linus Torvalds 2005-04-16 315 REG1;
bc1ebfba1a3a27 FUJITA Tomonori 2007-05-14 316
bc1ebfba1a3a27 FUJITA Tomonori 2007-05-14 317 scsi_for_each_sg(cmd, sg, scsi_sg_count(cmd), i) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 318 if (priv->qabort) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 319 REG0;
041da41fe006cc Hannes Reinecke 2020-12-01 320 if (priv->qabort == 1)
041da41fe006cc Hannes Reinecke 2020-12-01 321 set_host_byte(cmd, DID_ABORT);
041da41fe006cc Hannes Reinecke 2020-12-01 322 else
041da41fe006cc Hannes Reinecke 2020-12-01 323 set_host_byte(cmd, DID_RESET);
041da41fe006cc Hannes Reinecke 2020-12-01 324 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 325 }
45711f1af6eff1 Jens Axboe 2007-10-22 326 buf = sg_virt(sg);
bc1ebfba1a3a27 FUJITA Tomonori 2007-05-14 327 if (ql_pdma(priv, phase, buf, sg->length))
^1da177e4c3f41 Linus Torvalds 2005-04-16 328 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 329 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 330 REG0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 331 rtrc(2)
^1da177e4c3f41 Linus Torvalds 2005-04-16 332 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 333 * Wait for irq (split into second state of irq handler
^1da177e4c3f41 Linus Torvalds 2005-04-16 334 * if this can take time)
^1da177e4c3f41 Linus Torvalds 2005-04-16 335 */
041da41fe006cc Hannes Reinecke 2020-12-01 336 if ((k = ql_wai(priv))) {
041da41fe006cc Hannes Reinecke 2020-12-01 337 set_host_byte(cmd, k);
041da41fe006cc Hannes Reinecke 2020-12-01 338 return;
041da41fe006cc Hannes Reinecke 2020-12-01 339 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 340 k = inb(qbase + 5); /* should be 0x10, bus service */
^1da177e4c3f41 Linus Torvalds 2005-04-16 341 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 342
^1da177e4c3f41 Linus Torvalds 2005-04-16 343 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 344 * Enter Status (and Message In) Phase
^1da177e4c3f41 Linus Torvalds 2005-04-16 345 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 346
^1da177e4c3f41 Linus Torvalds 2005-04-16 347 k = jiffies + WATCHDOG;
^1da177e4c3f41 Linus Torvalds 2005-04-16 348
^1da177e4c3f41 Linus Torvalds 2005-04-16 349 while (time_before(jiffies, k) && !priv->qabort &&
^1da177e4c3f41 Linus Torvalds 2005-04-16 350 !(inb(qbase + 4) & 6))
^1da177e4c3f41 Linus Torvalds 2005-04-16 351 cpu_relax(); /* wait for status phase */
^1da177e4c3f41 Linus Torvalds 2005-04-16 352
^1da177e4c3f41 Linus Torvalds 2005-04-16 353 if (time_after_eq(jiffies, k)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 354 ql_zap(priv);
041da41fe006cc Hannes Reinecke 2020-12-01 355 set_host_byte(cmd, DID_TIME_OUT);
041da41fe006cc Hannes Reinecke 2020-12-01 356 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 357 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 358
^1da177e4c3f41 Linus Torvalds 2005-04-16 359 /* FIXME: timeout ?? */
^1da177e4c3f41 Linus Torvalds 2005-04-16 360 while (inb(qbase + 5))
^1da177e4c3f41 Linus Torvalds 2005-04-16 361 cpu_relax(); /* clear pending ints */
^1da177e4c3f41 Linus Torvalds 2005-04-16 362
041da41fe006cc Hannes Reinecke 2020-12-01 363 if (priv->qabort) {
041da41fe006cc Hannes Reinecke 2020-12-01 364 if (priv->qabort == 1)
041da41fe006cc Hannes Reinecke 2020-12-01 365 set_host_byte(cmd, DID_ABORT);
041da41fe006cc Hannes Reinecke 2020-12-01 366 else
041da41fe006cc Hannes Reinecke 2020-12-01 367 set_host_byte(cmd, DID_RESET);
041da41fe006cc Hannes Reinecke 2020-12-01 368 return;
041da41fe006cc Hannes Reinecke 2020-12-01 369 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 370 outb(0x11, qbase + 3); /* get status and message */
041da41fe006cc Hannes Reinecke 2020-12-01 371 if ((k = ql_wai(priv))) {
041da41fe006cc Hannes Reinecke 2020-12-01 372 set_host_byte(cmd, k);
041da41fe006cc Hannes Reinecke 2020-12-01 373 return;
041da41fe006cc Hannes Reinecke 2020-12-01 374 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 375 i = inb(qbase + 5); /* get chip irq stat */
^1da177e4c3f41 Linus Torvalds 2005-04-16 376 j = inb(qbase + 7) & 0x1f; /* and bytes rec'd */
^1da177e4c3f41 Linus Torvalds 2005-04-16 377 status = inb(qbase + 2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 378 message = inb(qbase + 2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 379
^1da177e4c3f41 Linus Torvalds 2005-04-16 380 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 381 * Should get function complete int if Status and message, else
^1da177e4c3f41 Linus Torvalds 2005-04-16 382 * bus serv if only status
^1da177e4c3f41 Linus Torvalds 2005-04-16 383 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 384 if (!((i == 8 && j == 2) || (i == 0x10 && j == 1))) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 385 printk(KERN_ERR "Ql:Error during status phase, int=%02X, %d bytes recd\n", i, j);
041da41fe006cc Hannes Reinecke 2020-12-01 386 set_host_byte(cmd, DID_ERROR);
^1da177e4c3f41 Linus Torvalds 2005-04-16 387 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 388 outb(0x12, qbase + 3); /* done, disconnect */
^1da177e4c3f41 Linus Torvalds 2005-04-16 389 rtrc(1)
041da41fe006cc Hannes Reinecke 2020-12-01 390 if ((k = ql_wai(priv))) {
041da41fe006cc Hannes Reinecke 2020-12-01 391 set_host_byte(cmd, k);
041da41fe006cc Hannes Reinecke 2020-12-01 392 return;
041da41fe006cc Hannes Reinecke 2020-12-01 393 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 394
^1da177e4c3f41 Linus Torvalds 2005-04-16 395 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 396 * Should get bus service interrupt and disconnect interrupt
^1da177e4c3f41 Linus Torvalds 2005-04-16 397 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 398
^1da177e4c3f41 Linus Torvalds 2005-04-16 399 i = inb(qbase + 5); /* should be bus service */
^1da177e4c3f41 Linus Torvalds 2005-04-16 400 while (!priv->qabort && ((i & 0x20) != 0x20)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 401 barrier();
^1da177e4c3f41 Linus Torvalds 2005-04-16 402 cpu_relax();
^1da177e4c3f41 Linus Torvalds 2005-04-16 403 i |= inb(qbase + 5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 404 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 405 rtrc(0)
^1da177e4c3f41 Linus Torvalds 2005-04-16 406
041da41fe006cc Hannes Reinecke 2020-12-01 407 if (priv->qabort) {
041da41fe006cc Hannes Reinecke 2020-12-01 408 if (priv->qabort == 1)
041da41fe006cc Hannes Reinecke 2020-12-01 409 set_host_byte(cmd, DID_ABORT);
041da41fe006cc Hannes Reinecke 2020-12-01 410 else
041da41fe006cc Hannes Reinecke 2020-12-01 411 set_host_byte(cmd, DID_RESET);
041da41fe006cc Hannes Reinecke 2020-12-01 412 return;
041da41fe006cc Hannes Reinecke 2020-12-01 413 }
041da41fe006cc Hannes Reinecke 2020-12-01 414 set_msg_byte(cmd, message);
041da41fe006cc Hannes Reinecke 2020-12-01 415 set_status_byte(cmd, status);
^1da177e4c3f41 Linus Torvalds 2005-04-16 416 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 417
:::::: The code at line 263 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[driver-core:debugfs_cleanup 1/2] fs/d_path.c:59 prepend() warn: unsigned 'p->len' is never less than zero.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git debugfs_cleanup
head: c4535d1b074f3fdd9476e83526d4e9b53f41a7b5
commit: 473082c5bbad92c5909ccf75fb28df699b94de82 [1/2] fs: make d_path-like functions all have unsigned size
config: i386-randconfig-m021-20210929 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
fs/d_path.c:59 prepend() warn: unsigned 'p->len' is never less than zero.
vim +59 fs/d_path.c
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 55
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 56 static bool prepend(struct prepend_buffer *p, const char *str, int namelen)
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 57 {
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 58 // Already overflowed?
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 @59 if (p->len < 0)
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 60 return false;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 61
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 62 // Will overflow?
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 63 if (p->len < namelen) {
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 64 // Fill as much as possible from the end of the name
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 65 str += namelen - p->len;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 66 p->buf -= p->len;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 67 prepend_copy(p->buf, str, p->len);
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 68 p->len = -1;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 69 return false;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 70 }
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 71
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 72 // Fits fully
ad08ae586586ea9 Al Viro 2021-05-12 73 p->len -= namelen;
ad08ae586586ea9 Al Viro 2021-05-12 74 p->buf -= namelen;
b0cfcdd9b9672ea Linus Torvalds 2021-07-16 75 return prepend_copy(p->buf, str, namelen);
7a5cf791a747640 Al Viro 2018-03-05 76 }
7a5cf791a747640 Al Viro 2018-03-05 77
:::::: The code at line 59 was first introduced by commit
:::::: b0cfcdd9b9672ea90642f33d6c0dd8516553adf2 d_path: make 'prepend()' fill up the buffer exactly on overflow
:::::: TO: Linus Torvalds <torvalds(a)linux-foundation.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months
[luto:x86/mm 1/7] arch/x86/include/asm/mmu_context.h:95:46: error: 'cpu_tlbstate' undeclared
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git x86/mm
head: e69827244c2f1e534aa83a40334ffa00bafe54c2
commit: f11196dfb449b51be4cf583fa343b90e20f95d48 [1/7] x86/ldt: Refactor the LDT loading functions
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?id...
git remote add luto https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
git fetch --no-tags luto x86/mm
git checkout f11196dfb449b51be4cf583fa343b90e20f95d48
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/asm-generic/percpu.h:7,
from arch/x86/include/asm/percpu.h:390,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from arch/x86/include/asm/mmu.h:5,
from arch/x86/include/asm/desc.h:7,
from arch/x86/include/asm/mmu_context.h:5,
from include/linux/mmu_context.h:5,
from drivers/gpu/drm/i915/gem/i915_gem_userptr.c:7:
arch/x86/include/asm/mmu_context.h: In function 'load_ldt_if_present':
>> arch/x86/include/asm/mmu_context.h:95:46: error: 'cpu_tlbstate' undeclared (first use in this function)
95 | return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
| ^~~~~~~~~~~~
include/linux/percpu-defs.h:318:9: note: in definition of macro '__pcpu_size_call_return'
318 | typeof(variable) pscr_ret__; \
| ^~~~~~~~
arch/x86/include/asm/mmu_context.h:95:32: note: in expansion of macro 'this_cpu_read'
95 | return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
| ^~~~~~~~~~~~~
arch/x86/include/asm/mmu_context.h:95:46: note: each undeclared identifier is reported only once for each function it appears in
95 | return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
| ^~~~~~~~~~~~
include/linux/percpu-defs.h:318:9: note: in definition of macro '__pcpu_size_call_return'
318 | typeof(variable) pscr_ret__; \
| ^~~~~~~~
arch/x86/include/asm/mmu_context.h:95:32: note: in expansion of macro 'this_cpu_read'
95 | return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
| ^~~~~~~~~~~~~
>> include/linux/percpu-defs.h:317:2: warning: passing argument 1 of 'load_mm_ldt_if_present' makes pointer from integer without a cast [-Wint-conversion]
317 | ({ \
| ~^~~~~~~~~~~
| |
| int
318 | typeof(variable) pscr_ret__; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
319 | __verify_pcpu_ptr(&(variable)); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
320 | switch(sizeof(variable)) { \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
321 | case 1: pscr_ret__ = stem##1(variable); break; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
322 | case 2: pscr_ret__ = stem##2(variable); break; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
323 | case 4: pscr_ret__ = stem##4(variable); break; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
324 | case 8: pscr_ret__ = stem##8(variable); break; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
325 | default: \
| ~~~~~~~~~~~~~~~~
326 | __bad_size_call_parameter(); break; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
327 | } \
| ~~~~~~~~~~
328 | pscr_ret__; \
| ~~~~~~~~~~~~~~~~~~~
329 | })
| ~~
include/linux/percpu-defs.h:507:29: note: in expansion of macro '__pcpu_size_call_return'
507 | #define this_cpu_read(pcp) __pcpu_size_call_return(this_cpu_read_, pcp)
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/mmu_context.h:95:32: note: in expansion of macro 'this_cpu_read'
95 | return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
| ^~~~~~~~~~~~~
In file included from include/linux/mmu_context.h:5,
from drivers/gpu/drm/i915/gem/i915_gem_userptr.c:7:
arch/x86/include/asm/mmu_context.h:83:61: note: expected 'struct mm_struct *' but argument is of type 'int'
83 | static inline bool load_mm_ldt_if_present(struct mm_struct *mm)
| ~~~~~~~~~~~~~~~~~~^~
vim +/cpu_tlbstate +95 arch/x86/include/asm/mmu_context.h
79
80 #ifdef CONFIG_MODIFY_LDT_SYSCALL
81 extern void load_ldt_struct(struct ldt_struct *ldt);
82 extern void switch_ldt(struct mm_struct *prev, struct mm_struct *next);
83 static inline bool load_mm_ldt_if_present(struct mm_struct *mm)
84 {
85 struct ldt_struct *ldt = smp_load_acquire(&mm->context.ldt);
86
87 if (likely(!ldt))
88 return false;
89
90 load_ldt_struct(ldt);
91 return true;
92 }
93 static inline bool load_ldt_if_present(void)
94 {
> 95 return load_mm_ldt_if_present(this_cpu_read(cpu_tlbstate.loaded_mm));
96 }
97 #else
98 static inline bool load_mm_ldt_if_present(struct mm_struct *mm) { return false; }
99 static inline bool load_ldt_if_present(void) { return false; }
100 static inline void switch_ldt(struct mm_struct *prev, struct mm_struct *next)
101 {
102 DEBUG_LOCKS_WARN_ON(preemptible());
103 }
104 #endif
105
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months