Re: [PATCH v3 2/2] UBSAN: run-time undefined behavior sanity checker

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

 



Hi Andrey,

[auto build test ERROR on: v4.4-rc3]
[cannot apply to: tip/x86/core kbuild/for-next next-20151127]

url:    https://github.com/0day-ci/linux/commits/Andrey-Ryabinin/kernel-printk-specify-alignment-for-struct-printk_log/20151201-000229
config: i386-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   lib/ubsan.c: In function 'val_to_string':
>> lib/ubsan.c:127:15: warning: right shift count >= width of type [-Wshift-count-overflow]
        (u32)(val >> 96),
                  ^
   lib/ubsan.c:128:15: warning: right shift count >= width of type [-Wshift-count-overflow]
        (u32)(val >> 64),
                  ^
--
   In file included from include/linux/linkage.h:4:0,
                    from include/linux/fs.h:4,
                    from include/linux/debugfs.h:18,
                    from net/mac80211/debugfs.c:11:
   net/mac80211/debugfs.c: In function 'hwflags_read':
>> include/linux/compiler.h:484:38: error: call to '__compiletime_assert_150' declared with attribute error: BUILD_BUG_ON failed: hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:467:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^
   include/linux/compiler.h:484:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   include/linux/bug.h:74:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^
>> net/mac80211/debugfs.c:150:2: note: in expansion of macro 'BUILD_BUG_ON'
     BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1);
     ^

vim +127 lib/ubsan.c

   111	
   112		if (type_bit_width(type) == 64)
   113			return *(u64 *)val;
   114	
   115		return *(u_max *)val;
   116	}
   117	
   118	static void val_to_string(char *str, size_t size, struct type_descriptor *type,
   119		unsigned long value)
   120	{
   121		u_max val = get_unsigned_val(type, value);
   122	
   123		if (type_is_int(type)) {
   124			if (IS_ENABLED(CONFIG_ARCH_SUPPORTS_INT128)
   125				&& type_bit_width(type) == 128)
   126				scnprintf(str, size, "0x%08x%08x%08x%08x",
 > 127					(u32)(val >> 96),
   128					(u32)(val >> 64),
   129					(u32)(val >> 32),
   130					(u32)(val));
   131			else if (type_is_signed(type))
   132				scnprintf(str, size, "%lld",
   133					(s64)get_signed_val(type, value));
   134			else
   135				scnprintf(str, size, "%llu",

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux