drivers/input/touchscreen/elants_i2c.c:859:45: warning: Clarify calculation precedence for '&' and
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d52daa8620c65960e1ef882adc1f92061326bd7a
commit: f27ad8932725f8dd0cd1a46763de4a40377b1ae6 Input: elants_i2c - support palm detection
date: 4 months ago
compiler: xtensa-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/input/touchscreen/elants_i2c.c:859:45: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
tool_type = buf[FW_POS_TOOL_TYPE] & BIT(0) ?
^
vim +859 drivers/input/touchscreen/elants_i2c.c
838
839 /*
840 * Event reporting.
841 */
842
843 static void elants_i2c_mt_event(struct elants_data *ts, u8 *buf)
844 {
845 struct input_dev *input = ts->input;
846 unsigned int n_fingers;
847 unsigned int tool_type;
848 u16 finger_state;
849 int i;
850
851 n_fingers = buf[FW_POS_STATE + 1] & 0x0f;
852 finger_state = ((buf[FW_POS_STATE + 1] & 0x30) << 4) |
853 buf[FW_POS_STATE];
854
855 dev_dbg(&ts->client->dev,
856 "n_fingers: %u, state: %04x\n", n_fingers, finger_state);
857
858 /* Note: all fingers have the same tool type */
> 859 tool_type = buf[FW_POS_TOOL_TYPE] & BIT(0) ?
860 MT_TOOL_FINGER : MT_TOOL_PALM;
861
862 for (i = 0; i < MAX_CONTACT_NUM && n_fingers; i++) {
863 if (finger_state & 1) {
864 unsigned int x, y, p, w;
865 u8 *pos;
866
867 pos = &buf[FW_POS_XY + i * 3];
868 x = (((u16)pos[0] & 0xf0) << 4) | pos[1];
869 y = (((u16)pos[0] & 0x0f) << 8) | pos[2];
870 p = buf[FW_POS_PRESSURE + i];
871 w = buf[FW_POS_WIDTH + i];
872
873 dev_dbg(&ts->client->dev, "i=%d x=%d y=%d p=%d w=%d\n",
874 i, x, y, p, w);
875
876 input_mt_slot(input, i);
877 input_mt_report_slot_state(input, tool_type, true);
878 input_event(input, EV_ABS, ABS_MT_POSITION_X, x);
879 input_event(input, EV_ABS, ABS_MT_POSITION_Y, y);
880 input_event(input, EV_ABS, ABS_MT_PRESSURE, p);
881 input_event(input, EV_ABS, ABS_MT_TOUCH_MAJOR, w);
882
883 n_fingers--;
884 }
885
886 finger_state >>= 1;
887 }
888
889 input_mt_sync_frame(input);
890 input_sync(input);
891 }
892
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/misc/habanalabs/common/firmware_if.c:371:18: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 7b16a15524d5db449cf5e529602610cdf04eddab habanalabs: fix up absolute include instructions
date: 13 days ago
compiler: riscv64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/misc/habanalabs/common/hw_queue.c:294:8: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << CQ_ENTRY_READY_SHIFT));
^
--
>> drivers/misc/habanalabs/common/firmware_if.c:371:18: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
if (!(err_val & CPU_BOOT_ERR0_ENABLED))
^
--
>> drivers/misc/habanalabs/gaudi/gaudi.c:3941:20: warning: Variable 'new_dma_pkt->ctl' is reassigned a value before the old one has been used. [redundantAssignment]
new_dma_pkt->ctl = cpu_to_le32(ctl);
^
drivers/misc/habanalabs/gaudi/gaudi.c:3935:20: note: Variable 'new_dma_pkt->ctl' is reassigned a value before the old one has been used.
new_dma_pkt->ctl = user_dma_pkt->ctl;
^
drivers/misc/habanalabs/gaudi/gaudi.c:3941:20: note: Variable 'new_dma_pkt->ctl' is reassigned a value before the old one has been used.
new_dma_pkt->ctl = cpu_to_le32(ctl);
^
>> drivers/misc/habanalabs/gaudi/gaudi.c:6249:5: warning: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment]
rc = hl_poll_timeout(
^
drivers/misc/habanalabs/gaudi/gaudi.c:6240:5: note: Variable 'rc' is reassigned a value before the old one has been used.
rc = hl_poll_timeout(
^
drivers/misc/habanalabs/gaudi/gaudi.c:6249:5: note: Variable 'rc' is reassigned a value before the old one has been used.
rc = hl_poll_timeout(
^
>> drivers/misc/habanalabs/gaudi/gaudi.c:658:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT));
^
drivers/misc/habanalabs/gaudi/gaudi.c:2301:34: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
gaudi->hw_cap_initialized |= 1 << (HW_CAP_TPC_SHIFT + tpc_id);
^
drivers/misc/habanalabs/gaudi/gaudi.c:2503:3: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmDMA0_QM_CGM_CFG + qman_offset,
^
drivers/misc/habanalabs/gaudi/gaudi.c:2514:3: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmDMA0_QM_CGM_CFG + qman_offset,
^
drivers/misc/habanalabs/gaudi/gaudi.c:2520:3: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmMME0_QM_CGM_CFG, QMAN_COMMON_CP_CGM_PWR_GATE_EN);
^
drivers/misc/habanalabs/gaudi/gaudi.c:2525:3: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmMME2_QM_CGM_CFG, QMAN_COMMON_CP_CGM_PWR_GATE_EN);
^
drivers/misc/habanalabs/gaudi/gaudi.c:2535:3: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmTPC0_QM_CGM_CFG + qman_offset,
^
drivers/misc/habanalabs/gaudi/gaudi.c:2884:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmPSOC_GLOBAL_CONF_SOFT_RST_CFG_L, CFG_RST_L_TPC_MASK);
^
drivers/misc/habanalabs/gaudi/gaudi.c:2896:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
WREG32(mmPSOC_GLOBAL_CONF_SW_ALL_RST_CFG_L,
^
drivers/misc/habanalabs/gaudi/gaudi.c:3441:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT);
^
drivers/misc/habanalabs/gaudi/gaudi.c:4246:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT);
^
drivers/misc/habanalabs/gaudi/gaudi.c:4258:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT);
^
drivers/misc/habanalabs/gaudi/gaudi.c:4294:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT));
^
drivers/misc/habanalabs/gaudi/gaudi.c:4902:7: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
(1 << GAUDI_PKT_CTL_MB_SHIFT);
^
--
>> drivers/misc/habanalabs/gaudi/gaudi_security.c:519:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_CTRL_QM_SLV_LBW_CLK_EN & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:560:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_PQ_BASE_LO_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:597:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_PQ_STS0_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:617:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_CQ_TSIZE_0 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:650:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_CQ_TSIZE_STS_4 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:687:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_CP_MSG_BASE2_ADDR_LO_1 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:724:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_CP_LDMA_DST_BASE_LO_OFFSET_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:756:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_CP_BARRIER_CFG_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:813:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_ARB_MST_AVAIL_CRED_23 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:871:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME0_QM_ARB_MST_CRED_STS_19 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:954:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME1_CTRL_QM_SLV_LBW_CLK_EN & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:998:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_CTRL_QM_SLV_LBW_CLK_EN & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1039:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_PQ_BASE_LO_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1076:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_PQ_STS0_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1096:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_CQ_TSIZE_0 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1129:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_CQ_TSIZE_STS_4 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1166:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_CP_MSG_BASE2_ADDR_LO_1 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1203:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_CP_LDMA_DST_BASE_LO_OFFSET_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1235:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_CP_BARRIER_CFG_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1292:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_ARB_MST_AVAIL_CRED_23 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1351:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME2_QM_ARB_MST_CRED_STS_19 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1434:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmMME3_CTRL_QM_SLV_LBW_CLK_EN & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1517:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_PQ_BASE_LO_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1554:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_PQ_STS0_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1574:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_CQ_TSIZE_0 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1607:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_CQ_TSIZE_STS_4 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1644:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_CP_MSG_BASE2_ADDR_LO_1 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1681:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_CP_LDMA_DST_BASE_LO_OFFSET_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1714:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_CP_BARRIER_CFG_2 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1771:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_ARB_MST_AVAIL_CRED_23 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1830:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA0_QM_ARB_MST_CRED_STS_19 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1912:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA1_QM_PQ_BASE_LO_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1949:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA1_QM_PQ_STS0_3 & 0x7F) >> 2);
^
drivers/misc/habanalabs/gaudi/gaudi_security.c:1969:12: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
mask |= 1 << ((mmDMA1_QM_CQ_TSIZE_0 & 0x7F) >> 2);
vim +371 drivers/misc/habanalabs/common/firmware_if.c
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 356
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 357 static void fw_read_errors(struct hl_device *hdev, u32 boot_err0_reg)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 358 {
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 359 u32 err_val;
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 360
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 361 /* Some of the firmware status codes are deprecated in newer f/w
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 362 * versions. In those versions, the errors are reported
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 363 * in different registers. Therefore, we need to check those
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 364 * registers and print the exact errors. Moreover, there
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 365 * may be multiple errors, so we need to report on each error
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 366 * separately. Some of the error codes might indicate a state
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 367 * that is not an error per-se, but it is an error in production
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 368 * environment
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 369 */
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 370 err_val = RREG32(boot_err0_reg);
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 @371 if (!(err_val & CPU_BOOT_ERR0_ENABLED))
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 372 return;
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 373
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 374 if (err_val & CPU_BOOT_ERR0_DRAM_INIT_FAIL)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 375 dev_err(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 376 "Device boot error - DRAM initialization failed\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 377 if (err_val & CPU_BOOT_ERR0_FIT_CORRUPTED)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 378 dev_err(hdev->dev, "Device boot error - FIT image corrupted\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 379 if (err_val & CPU_BOOT_ERR0_TS_INIT_FAIL)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 380 dev_err(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 381 "Device boot error - Thermal Sensor initialization failed\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 382 if (err_val & CPU_BOOT_ERR0_DRAM_SKIPPED)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 383 dev_warn(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 384 "Device boot warning - Skipped DRAM initialization\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 385 if (err_val & CPU_BOOT_ERR0_BMC_WAIT_SKIPPED)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 386 dev_warn(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 387 "Device boot error - Skipped waiting for BMC\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 388 if (err_val & CPU_BOOT_ERR0_NIC_DATA_NOT_RDY)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 389 dev_err(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 390 "Device boot error - Serdes data from BMC not available\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 391 if (err_val & CPU_BOOT_ERR0_NIC_FW_FAIL)
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 392 dev_err(hdev->dev,
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 393 "Device boot error - NIC F/W initialization failed\n");
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 394 }
7e1c07dd352509 drivers/misc/habanalabs/firmware_if.c Oded Gabbay 2020-03-26 395
:::::: The code at line 371 was first introduced by commit
:::::: 7e1c07dd35250971cd29c60c786ac676179eb7f9 habanalabs: unify and improve device cpu init
:::::: TO: Oded Gabbay <oded.gabbay(a)gmail.com>
:::::: CC: Oded Gabbay <oded.gabbay(a)gmail.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-rt-devel:linux-5.4.y-rt 28/325] kernel/printk/printk.c:3032 printk_kthread_func() warn: possible memory leak of 'buf'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt
head: 5fbf1e70f11dba64cc05c9d85120a3aa7c67a4a2
commit: c9a71d20bad00e88ed426d5c14665d48443f7314 [28/325] printk: add ring buffer and kthread
config: i386-randconfig-m021-20200810 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 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:
kernel/printk/printk.c:3032 printk_kthread_func() warn: possible memory leak of 'buf'
kernel/printk/printk.c:3032 printk_kthread_func() warn: possible memory leak of 'ext_text'
kernel/printk/printk.c:3032 printk_kthread_func() warn: possible memory leak of 'text'
kernel/printk/printk.c:3061 printk_kthread_func() warn: ignoring unreachable code.
vim +/buf +3032 kernel/printk/printk.c
3015
3016 static int printk_kthread_func(void *data)
3017 {
3018 struct prb_iterator iter;
3019 struct printk_log *msg;
3020 size_t ext_len;
3021 char *ext_text;
3022 u64 master_seq;
3023 size_t len;
3024 char *text;
3025 char *buf;
3026 int ret;
3027
3028 ext_text = kmalloc(CONSOLE_EXT_LOG_MAX, GFP_KERNEL);
3029 text = kmalloc(PRINTK_SPRINT_MAX, GFP_KERNEL);
3030 buf = kmalloc(PRINTK_RECORD_MAX, GFP_KERNEL);
3031 if (!ext_text || !text || !buf)
> 3032 return -1;
3033
3034 prb_iter_init(&iter, &printk_rb, NULL);
3035
3036 /* the printk kthread never exits */
3037 for (;;) {
3038 ret = prb_iter_wait_next(&iter, buf,
3039 PRINTK_RECORD_MAX, &master_seq);
3040 if (ret == -ERESTARTSYS) {
3041 continue;
3042 } else if (ret < 0) {
3043 /* iterator invalid, start over */
3044 prb_iter_init(&iter, &printk_rb, NULL);
3045 continue;
3046 }
3047
3048 msg = (struct printk_log *)buf;
3049 format_text(msg, master_seq, ext_text, &ext_len, text,
3050 &len, printk_time);
3051
3052 console_lock();
3053 if (len > 0 || ext_len > 0) {
3054 call_console_drivers(ext_text, ext_len, text, len);
3055 boot_delay_msec(msg->level);
3056 printk_delay();
3057 }
3058 console_unlock();
3059 }
3060
> 3061 kfree(ext_text);
3062 kfree(text);
3063 kfree(buf);
3064
3065 return 0;
3066 }
3067
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-next:master 13855/14221] drivers/android/binder.c:3761: Error: unrecognized keyword/register name `l.lwz
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: f80535b9aa10b0bbed0fb727247c03e20580db1c
commit: af84b16e3423bd9c1c8d81c44bc0a217f763f6b7 [13855/14221] openrisc: uaccess: Use static inline function in access_ok
config: openrisc-randconfig-r021-20200810 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.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
git checkout af84b16e3423bd9c1c8d81c44bc0a217f763f6b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc
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/android/binder.c: Assembler messages:
>> drivers/android/binder.c:3761: Error: unrecognized keyword/register name `l.lwz ?ap,4(r17)'
drivers/android/binder.c:3766: Error: unrecognized keyword/register name `l.addi ?ap,r0,0'
vim +3761 drivers/android/binder.c
44d8047f1d87ad drivers/android/binder.c Todd Kjos 2018-08-28 3594
fb07ebc3e82a98 drivers/staging/android/binder.c Bojan Prtvar 2013-09-02 3595 static int binder_thread_write(struct binder_proc *proc,
fb07ebc3e82a98 drivers/staging/android/binder.c Bojan Prtvar 2013-09-02 3596 struct binder_thread *thread,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3597 binder_uintptr_t binder_buffer, size_t size,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3598 binder_size_t *consumed)
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3599 {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3600 uint32_t cmd;
342e5c90b60134 drivers/android/binder.c Martijn Coenen 2017-02-03 3601 struct binder_context *context = proc->context;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3602 void __user *buffer = (void __user *)(uintptr_t)binder_buffer;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3603 void __user *ptr = buffer + *consumed;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3604 void __user *end = buffer + size;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3605
26549d17741035 drivers/android/binder.c Todd Kjos 2017-06-29 3606 while (ptr < end && thread->return_error.cmd == BR_OK) {
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3607 int ret;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3608
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3609 if (get_user(cmd, (uint32_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3610 return -EFAULT;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3611 ptr += sizeof(uint32_t);
975a1ac9a9fe65 drivers/staging/android/binder.c Arve Hjønnevåg 2012-10-16 3612 trace_binder_command(cmd);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3613 if (_IOC_NR(cmd) < ARRAY_SIZE(binder_stats.bc)) {
0953c7976c36ce drivers/android/binder.c Badhri Jagan Sridharan 2017-06-29 3614 atomic_inc(&binder_stats.bc[_IOC_NR(cmd)]);
0953c7976c36ce drivers/android/binder.c Badhri Jagan Sridharan 2017-06-29 3615 atomic_inc(&proc->stats.bc[_IOC_NR(cmd)]);
0953c7976c36ce drivers/android/binder.c Badhri Jagan Sridharan 2017-06-29 3616 atomic_inc(&thread->stats.bc[_IOC_NR(cmd)]);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3617 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3618 switch (cmd) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3619 case BC_INCREFS:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3620 case BC_ACQUIRE:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3621 case BC_RELEASE:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3622 case BC_DECREFS: {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3623 uint32_t target;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3624 const char *debug_string;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3625 bool strong = cmd == BC_ACQUIRE || cmd == BC_RELEASE;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3626 bool increment = cmd == BC_INCREFS || cmd == BC_ACQUIRE;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3627 struct binder_ref_data rdata;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3628
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3629 if (get_user(target, (uint32_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3630 return -EFAULT;
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3631
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3632 ptr += sizeof(uint32_t);
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3633 ret = -1;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3634 if (increment && !target) {
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3635 struct binder_node *ctx_mgr_node;
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3636 mutex_lock(&context->context_mgr_node_lock);
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3637 ctx_mgr_node = context->binder_context_mgr_node;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3638 if (ctx_mgr_node)
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3639 ret = binder_inc_ref_for_node(
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3640 proc, ctx_mgr_node,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3641 strong, NULL, &rdata);
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3642 mutex_unlock(&context->context_mgr_node_lock);
c44b1231ff1170 drivers/android/binder.c Todd Kjos 2017-06-29 3643 }
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3644 if (ret)
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3645 ret = binder_update_ref_for_handle(
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3646 proc, target, increment, strong,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3647 &rdata);
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3648 if (!ret && rdata.desc != target) {
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3649 binder_user_error("%d:%d tried to acquire reference to desc %d, got %d instead\n",
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3650 proc->pid, thread->pid,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3651 target, rdata.desc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3652 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3653 switch (cmd) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3654 case BC_INCREFS:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3655 debug_string = "IncRefs";
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3656 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3657 case BC_ACQUIRE:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3658 debug_string = "Acquire";
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3659 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3660 case BC_RELEASE:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3661 debug_string = "Release";
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3662 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3663 case BC_DECREFS:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3664 default:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3665 debug_string = "DecRefs";
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3666 break;
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3667 }
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3668 if (ret) {
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3669 binder_user_error("%d:%d %s %d refcount change on invalid ref %d ret %d\n",
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3670 proc->pid, thread->pid, debug_string,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3671 strong, target, ret);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3672 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3673 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3674 binder_debug(BINDER_DEBUG_USER_REFS,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3675 "%d:%d %s ref %d desc %d s %d w %d\n",
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3676 proc->pid, thread->pid, debug_string,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3677 rdata.debug_id, rdata.desc, rdata.strong,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3678 rdata.weak);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3679 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3680 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3681 case BC_INCREFS_DONE:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3682 case BC_ACQUIRE_DONE: {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3683 binder_uintptr_t node_ptr;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3684 binder_uintptr_t cookie;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3685 struct binder_node *node;
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3686 bool free_node;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3687
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3688 if (get_user(node_ptr, (binder_uintptr_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3689 return -EFAULT;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3690 ptr += sizeof(binder_uintptr_t);
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3691 if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3692 return -EFAULT;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3693 ptr += sizeof(binder_uintptr_t);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3694 node = binder_get_node(proc, node_ptr);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3695 if (node == NULL) {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3696 binder_user_error("%d:%d %s u%016llx no match\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3697 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3698 cmd == BC_INCREFS_DONE ?
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3699 "BC_INCREFS_DONE" :
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3700 "BC_ACQUIRE_DONE",
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3701 (u64)node_ptr);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3702 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3703 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3704 if (cookie != node->cookie) {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3705 binder_user_error("%d:%d %s u%016llx node %d cookie mismatch %016llx != %016llx\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3706 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3707 cmd == BC_INCREFS_DONE ?
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3708 "BC_INCREFS_DONE" : "BC_ACQUIRE_DONE",
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3709 (u64)node_ptr, node->debug_id,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3710 (u64)cookie, (u64)node->cookie);
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3711 binder_put_node(node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3712 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3713 }
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3714 binder_node_inner_lock(node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3715 if (cmd == BC_ACQUIRE_DONE) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3716 if (node->pending_strong_ref == 0) {
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3717 binder_user_error("%d:%d BC_ACQUIRE_DONE node %d has no pending acquire request\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3718 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3719 node->debug_id);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3720 binder_node_inner_unlock(node);
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3721 binder_put_node(node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3722 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3723 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3724 node->pending_strong_ref = 0;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3725 } else {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3726 if (node->pending_weak_ref == 0) {
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3727 binder_user_error("%d:%d BC_INCREFS_DONE node %d has no pending increfs request\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3728 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3729 node->debug_id);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3730 binder_node_inner_unlock(node);
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3731 binder_put_node(node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3732 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3733 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3734 node->pending_weak_ref = 0;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3735 }
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3736 free_node = binder_dec_node_nilocked(node,
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3737 cmd == BC_ACQUIRE_DONE, 0);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3738 WARN_ON(free_node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3739 binder_debug(BINDER_DEBUG_USER_REFS,
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3740 "%d:%d %s node %d ls %d lw %d tr %d\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3741 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3742 cmd == BC_INCREFS_DONE ? "BC_INCREFS_DONE" : "BC_ACQUIRE_DONE",
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3743 node->debug_id, node->local_strong_refs,
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3744 node->local_weak_refs, node->tmp_refs);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3745 binder_node_inner_unlock(node);
adc1884222276d drivers/android/binder.c Todd Kjos 2017-06-29 3746 binder_put_node(node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3747 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3748 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3749 case BC_ATTEMPT_ACQUIRE:
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3750 pr_err("BC_ATTEMPT_ACQUIRE not supported\n");
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3751 return -EINVAL;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3752 case BC_ACQUIRE_RESULT:
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3753 pr_err("BC_ACQUIRE_RESULT not supported\n");
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3754 return -EINVAL;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3755
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3756 case BC_FREE_BUFFER: {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3757 binder_uintptr_t data_ptr;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3758 struct binder_buffer *buffer;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3759
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3760 if (get_user(data_ptr, (binder_uintptr_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 @3761 return -EFAULT;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3762 ptr += sizeof(binder_uintptr_t);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3763
53d311cfa19ad3 drivers/android/binder.c Todd Kjos 2017-06-29 3764 buffer = binder_alloc_prepare_to_free(&proc->alloc,
19c987241ca121 drivers/android/binder.c Todd Kjos 2017-06-29 3765 data_ptr);
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3766 if (IS_ERR_OR_NULL(buffer)) {
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3767 if (PTR_ERR(buffer) == -EPERM) {
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3768 binder_user_error(
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3769 "%d:%d BC_FREE_BUFFER u%016llx matched unreturned or currently freeing buffer\n",
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3770 proc->pid, thread->pid,
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3771 (u64)data_ptr);
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3772 } else {
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3773 binder_user_error(
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3774 "%d:%d BC_FREE_BUFFER u%016llx no match\n",
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3775 proc->pid, thread->pid,
7bada55ab50697 drivers/android/binder.c Todd Kjos 2018-11-06 3776 (u64)data_ptr);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3777 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3778 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3779 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3780 binder_debug(BINDER_DEBUG_FREE_BUFFER,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3781 "%d:%d BC_FREE_BUFFER u%016llx found buffer %d for %s transaction\n",
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3782 proc->pid, thread->pid, (u64)data_ptr,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3783 buffer->debug_id,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3784 buffer->transaction ? "active" : "finished");
44d8047f1d87ad drivers/android/binder.c Todd Kjos 2018-08-28 3785 binder_free_buf(proc, buffer);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3786 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3787 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3788
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3789 case BC_TRANSACTION_SG:
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3790 case BC_REPLY_SG: {
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3791 struct binder_transaction_data_sg tr;
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3792
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3793 if (copy_from_user(&tr, ptr, sizeof(tr)))
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3794 return -EFAULT;
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3795 ptr += sizeof(tr);
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3796 binder_transaction(proc, thread, &tr.transaction_data,
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3797 cmd == BC_REPLY_SG, tr.buffers_size);
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3798 break;
7980240b6d63e0 drivers/android/binder.c Martijn Coenen 2017-02-03 3799 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3800 case BC_TRANSACTION:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3801 case BC_REPLY: {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3802 struct binder_transaction_data tr;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3803
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3804 if (copy_from_user(&tr, ptr, sizeof(tr)))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3805 return -EFAULT;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3806 ptr += sizeof(tr);
4bfac80af3a63f drivers/android/binder.c Martijn Coenen 2017-02-03 3807 binder_transaction(proc, thread, &tr,
4bfac80af3a63f drivers/android/binder.c Martijn Coenen 2017-02-03 3808 cmd == BC_REPLY, 0);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3809 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3810 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3811
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3812 case BC_REGISTER_LOOPER:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3813 binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3814 "%d:%d BC_REGISTER_LOOPER\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3815 proc->pid, thread->pid);
b3e6861283790d drivers/android/binder.c Todd Kjos 2017-06-29 3816 binder_inner_proc_lock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3817 if (thread->looper & BINDER_LOOPER_STATE_ENTERED) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3818 thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3819 binder_user_error("%d:%d ERROR: BC_REGISTER_LOOPER called after BC_ENTER_LOOPER\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3820 proc->pid, thread->pid);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3821 } else if (proc->requested_threads == 0) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3822 thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3823 binder_user_error("%d:%d ERROR: BC_REGISTER_LOOPER called without request\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3824 proc->pid, thread->pid);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3825 } else {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3826 proc->requested_threads--;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3827 proc->requested_threads_started++;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3828 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3829 thread->looper |= BINDER_LOOPER_STATE_REGISTERED;
b3e6861283790d drivers/android/binder.c Todd Kjos 2017-06-29 3830 binder_inner_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3831 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3832 case BC_ENTER_LOOPER:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3833 binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3834 "%d:%d BC_ENTER_LOOPER\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3835 proc->pid, thread->pid);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3836 if (thread->looper & BINDER_LOOPER_STATE_REGISTERED) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3837 thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3838 binder_user_error("%d:%d ERROR: BC_ENTER_LOOPER called after BC_REGISTER_LOOPER\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3839 proc->pid, thread->pid);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3840 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3841 thread->looper |= BINDER_LOOPER_STATE_ENTERED;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3842 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3843 case BC_EXIT_LOOPER:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3844 binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3845 "%d:%d BC_EXIT_LOOPER\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3846 proc->pid, thread->pid);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3847 thread->looper |= BINDER_LOOPER_STATE_EXITED;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3848 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3849
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3850 case BC_REQUEST_DEATH_NOTIFICATION:
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3851 case BC_CLEAR_DEATH_NOTIFICATION: {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3852 uint32_t target;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3853 binder_uintptr_t cookie;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3854 struct binder_ref *ref;
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3855 struct binder_ref_death *death = NULL;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3856
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3857 if (get_user(target, (uint32_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3858 return -EFAULT;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3859 ptr += sizeof(uint32_t);
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3860 if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3861 return -EFAULT;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3862 ptr += sizeof(binder_uintptr_t);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3863 if (cmd == BC_REQUEST_DEATH_NOTIFICATION) {
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3864 /*
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3865 * Allocate memory for death notification
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3866 * before taking lock
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3867 */
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3868 death = kzalloc(sizeof(*death), GFP_KERNEL);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3869 if (death == NULL) {
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3870 WARN_ON(thread->return_error.cmd !=
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3871 BR_OK);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3872 thread->return_error.cmd = BR_ERROR;
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3873 binder_enqueue_thread_work(
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3874 thread,
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3875 &thread->return_error.work);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3876 binder_debug(
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3877 BINDER_DEBUG_FAILED_TRANSACTION,
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3878 "%d:%d BC_REQUEST_DEATH_NOTIFICATION failed\n",
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3879 proc->pid, thread->pid);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3880 break;
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3881 }
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3882 }
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3883 binder_proc_lock(proc);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3884 ref = binder_get_ref_olocked(proc, target, false);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3885 if (ref == NULL) {
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3886 binder_user_error("%d:%d %s invalid ref %d\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3887 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3888 cmd == BC_REQUEST_DEATH_NOTIFICATION ?
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3889 "BC_REQUEST_DEATH_NOTIFICATION" :
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3890 "BC_CLEAR_DEATH_NOTIFICATION",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3891 target);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3892 binder_proc_unlock(proc);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3893 kfree(death);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3894 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3895 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3896
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3897 binder_debug(BINDER_DEBUG_DEATH_NOTIFICATION,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3898 "%d:%d %s %016llx ref %d desc %d s %d w %d for node %d\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3899 proc->pid, thread->pid,
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3900 cmd == BC_REQUEST_DEATH_NOTIFICATION ?
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3901 "BC_REQUEST_DEATH_NOTIFICATION" :
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3902 "BC_CLEAR_DEATH_NOTIFICATION",
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3903 (u64)cookie, ref->data.debug_id,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3904 ref->data.desc, ref->data.strong,
372e3147df7016 drivers/android/binder.c Todd Kjos 2017-06-29 3905 ref->data.weak, ref->node->debug_id);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3906
ab51ec6bdf0b7a drivers/android/binder.c Martijn Coenen 2017-06-29 3907 binder_node_lock(ref->node);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3908 if (cmd == BC_REQUEST_DEATH_NOTIFICATION) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3909 if (ref->death) {
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3910 binder_user_error("%d:%d BC_REQUEST_DEATH_NOTIFICATION death notification already set\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3911 proc->pid, thread->pid);
ab51ec6bdf0b7a drivers/android/binder.c Martijn Coenen 2017-06-29 3912 binder_node_unlock(ref->node);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3913 binder_proc_unlock(proc);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3914 kfree(death);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3915 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3916 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3917 binder_stats_created(BINDER_STAT_DEATH);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3918 INIT_LIST_HEAD(&death->work.entry);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3919 death->cookie = cookie;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3920 ref->death = death;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3921 if (ref->node->proc == NULL) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3922 ref->death->work.type = BINDER_WORK_DEAD_BINDER;
bb74562a7f8398 drivers/android/binder.c Martijn Coenen 2017-08-31 3923
1b77e9dcc3da93 drivers/android/binder.c Martijn Coenen 2017-08-31 3924 binder_inner_proc_lock(proc);
1b77e9dcc3da93 drivers/android/binder.c Martijn Coenen 2017-08-31 3925 binder_enqueue_work_ilocked(
bb74562a7f8398 drivers/android/binder.c Martijn Coenen 2017-08-31 3926 &ref->death->work, &proc->todo);
bb74562a7f8398 drivers/android/binder.c Martijn Coenen 2017-08-31 3927 binder_wakeup_proc_ilocked(proc);
1b77e9dcc3da93 drivers/android/binder.c Martijn Coenen 2017-08-31 3928 binder_inner_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3929 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3930 } else {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3931 if (ref->death == NULL) {
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 3932 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification not active\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3933 proc->pid, thread->pid);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3934 binder_node_unlock(ref->node);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3935 binder_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3936 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3937 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3938 death = ref->death;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3939 if (death->cookie != cookie) {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3940 binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification cookie mismatch %016llx != %016llx\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3941 proc->pid, thread->pid,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3942 (u64)death->cookie,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3943 (u64)cookie);
673068eee8560d drivers/android/binder.c Todd Kjos 2017-06-29 3944 binder_node_unlock(ref->node);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3945 binder_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3946 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3947 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3948 ref->death = NULL;
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3949 binder_inner_proc_lock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3950 if (list_empty(&death->work.entry)) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3951 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3952 if (thread->looper &
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3953 (BINDER_LOOPER_STATE_REGISTERED |
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3954 BINDER_LOOPER_STATE_ENTERED))
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3955 binder_enqueue_thread_work_ilocked(
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3956 thread,
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 3957 &death->work);
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3958 else {
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3959 binder_enqueue_work_ilocked(
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3960 &death->work,
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3961 &proc->todo);
1b77e9dcc3da93 drivers/android/binder.c Martijn Coenen 2017-08-31 3962 binder_wakeup_proc_ilocked(
408c68b17aea2f drivers/android/binder.c Martijn Coenen 2017-08-31 3963 proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3964 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3965 } else {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3966 BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3967 death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3968 }
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3969 binder_inner_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3970 }
ab51ec6bdf0b7a drivers/android/binder.c Martijn Coenen 2017-06-29 3971 binder_node_unlock(ref->node);
2c1838dc6817dd drivers/android/binder.c Todd Kjos 2017-06-29 3972 binder_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3973 } break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3974 case BC_DEAD_BINDER_DONE: {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3975 struct binder_work *w;
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3976 binder_uintptr_t cookie;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3977 struct binder_ref_death *death = NULL;
10f62861b4a2f2 drivers/staging/android/binder.c Seunghun Lee 2014-05-01 3978
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3979 if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3980 return -EFAULT;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3981
7a64cd887fdb97 drivers/android/binder.c Lisa Du 2016-02-17 3982 ptr += sizeof(cookie);
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3983 binder_inner_proc_lock(proc);
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3984 list_for_each_entry(w, &proc->delivered_death,
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3985 entry) {
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3986 struct binder_ref_death *tmp_death =
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3987 container_of(w,
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3988 struct binder_ref_death,
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 3989 work);
10f62861b4a2f2 drivers/staging/android/binder.c Seunghun Lee 2014-05-01 3990
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3991 if (tmp_death->cookie == cookie) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3992 death = tmp_death;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3993 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3994 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3995 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 3996 binder_debug(BINDER_DEBUG_DEAD_BINDER,
8ca86f1639ec58 drivers/android/binder.c Todd Kjos 2018-02-07 3997 "%d:%d BC_DEAD_BINDER_DONE %016llx found %pK\n",
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3998 proc->pid, thread->pid, (u64)cookie,
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 3999 death);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4000 if (death == NULL) {
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 4001 binder_user_error("%d:%d BC_DEAD_BINDER_DONE %016llx not found\n",
da49889deb34d3 drivers/staging/android/binder.c Arve Hjønnevåg 2014-02-21 4002 proc->pid, thread->pid, (u64)cookie);
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4003 binder_inner_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4004 break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4005 }
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4006 binder_dequeue_work_ilocked(&death->work);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4007 if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) {
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4008 death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4009 if (thread->looper &
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4010 (BINDER_LOOPER_STATE_REGISTERED |
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4011 BINDER_LOOPER_STATE_ENTERED))
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 4012 binder_enqueue_thread_work_ilocked(
148ade2c4d4f46 drivers/android/binder.c Martijn Coenen 2017-11-15 4013 thread, &death->work);
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4014 else {
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4015 binder_enqueue_work_ilocked(
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4016 &death->work,
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4017 &proc->todo);
408c68b17aea2f drivers/android/binder.c Martijn Coenen 2017-08-31 4018 binder_wakeup_proc_ilocked(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4019 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4020 }
72196393a5e3d2 drivers/android/binder.c Todd Kjos 2017-06-29 4021 binder_inner_proc_unlock(proc);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4022 } break;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4023
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4024 default:
56b468fc709b2b drivers/staging/android/binder.c Anmol Sarma 2012-10-30 4025 pr_err("%d:%d unknown command %d\n",
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4026 proc->pid, thread->pid, cmd);
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4027 return -EINVAL;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4028 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4029 *consumed = ptr - buffer;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4030 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4031 return 0;
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4032 }
355b0502f6efea drivers/staging/android/binder.c Greg Kroah-Hartman 2011-11-30 4033
:::::: The code at line 3761 was first introduced by commit
:::::: 355b0502f6efea0ff9492753888772c96972d2a3 Revert "Staging: android: delete android drivers"
:::::: TO: Greg Kroah-Hartman <gregkh(a)suse.de>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[ti:ti-rt-linux-5.4.y 9148/9274] net//core/sock.c:3092:28: error: 'SCM_REDUNDANT' undeclared
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.4.y
head: e6f6398802d41ad655b6a4108be588d533e3c1c4
commit: 37ab3ad1acdc652a6694e6f45e67767a8a80592b [9148/9274] net: socket: pass on redundant net info to sock_recv_errqueue
config: parisc-randconfig-r011-20200810 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.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
git checkout 37ab3ad1acdc652a6694e6f45e67767a8a80592b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 include/linux/mm.h:99,
from include/linux/bvec.h:13,
from include/linux/skbuff.h:17,
from include/linux/ip.h:16,
from include/net/ip.h:22,
from include/linux/errqueue.h:6,
from net//core/sock.c:91:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/net/inet_sock.h:22,
from include/net/ip.h:27,
from include/linux/errqueue.h:6,
from net//core/sock.c:91:
include/net/sock.h: In function 'sock_recv_redundant_info':
include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//core/sock.c: In function 'sock_recv_errqueue':
>> net//core/sock.c:3092:28: error: 'SCM_REDUNDANT' undeclared (first use in this function)
3092 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
vim +/SCM_REDUNDANT +3092 net//core/sock.c
3066
3067 int sock_recv_errqueue(struct sock *sk, struct msghdr *msg, int len,
3068 int level, int type)
3069 {
3070 struct sock_exterr_skb *serr;
3071 struct sk_buff *skb;
3072 int copied, err;
3073 struct skb_redundant_info *sred;
3074
3075 err = -EAGAIN;
3076 skb = sock_dequeue_err_skb(sk);
3077 if (skb == NULL)
3078 goto out;
3079
3080 copied = skb->len;
3081 if (copied > len) {
3082 msg->msg_flags |= MSG_TRUNC;
3083 copied = len;
3084 }
3085 err = skb_copy_datagram_msg(skb, 0, msg, copied);
3086 if (err)
3087 goto out_free_skb;
3088
3089 sock_recv_timestamp(msg, sk, skb);
3090
3091 sred = skb_redinfo(skb);
> 3092 put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
3093
3094 serr = SKB_EXT_ERR(skb);
3095 put_cmsg(msg, level, type, sizeof(serr->ee), &serr->ee);
3096
3097 msg->msg_flags |= MSG_ERRQUEUE;
3098 err = copied;
3099
3100 out_free_skb:
3101 kfree_skb(skb);
3102 out:
3103 return err;
3104 }
3105 EXPORT_SYMBOL(sock_recv_errqueue);
3106
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v2 5/8] KVM: x86: Ensure the MSR bitmap never clears userspace tracked MSRs
by kernel test robot
Hi Aaron,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.8]
[cannot apply to kvm/linux-next next-20200810]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Aaron-Lewis/Allow-userspace-to-m...
base: bcf876870b95592b52519ed4aafcf9d95999bc9c
config: x86_64-randconfig-a003-20200810 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3a34228bff6fdf45b50cb57cf5fb85d659eeb672)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
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 >>):
>> arch/x86/kvm/vmx/vmx.c:3826:6: warning: no previous prototype for function 'vmx_set_user_msr_intercept' [-Wmissing-prototypes]
void vmx_set_user_msr_intercept(struct kvm_vcpu *vcpu, u32 msr)
^
arch/x86/kvm/vmx/vmx.c:3826:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void vmx_set_user_msr_intercept(struct kvm_vcpu *vcpu, u32 msr)
^
static
1 warning generated.
--
>> arch/x86/kvm/svm/svm.c:636:6: warning: no previous prototype for function 'svm_set_user_msr_intercept' [-Wmissing-prototypes]
void svm_set_user_msr_intercept(struct kvm_vcpu *vcpu, u32 msr)
^
arch/x86/kvm/svm/svm.c:636:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void svm_set_user_msr_intercept(struct kvm_vcpu *vcpu, u32 msr)
^
static
1 warning generated.
vim +/vmx_set_user_msr_intercept +3826 arch/x86/kvm/vmx/vmx.c
3825
> 3826 void vmx_set_user_msr_intercept(struct kvm_vcpu *vcpu, u32 msr)
3827 {
3828 vmx_enable_intercept_for_msr(vcpu, msr, MSR_TYPE_RW);
3829 }
3830
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
fs/notify/fanotify/fanotify_user.c:296:24: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: m68k-randconfig-s031-20200811 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-141-g19506bc2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/notify/fanotify/fanotify_user.c:135:63: sparse: sparse: restricted fmode_t degrades to integer
>> fs/notify/fanotify/fanotify_user.c:296:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got char [noderef] __user *[assigned] buf @@
fs/notify/fanotify/fanotify_user.c:296:24: sparse: expected void *to
fs/notify/fanotify/fanotify_user.c:296:24: sparse: got char [noderef] __user *[assigned] buf
fs/notify/fanotify/fanotify_user.c:877:28: sparse: sparse: restricted fmode_t degrades to integer
vim +296 fs/notify/fanotify/fanotify_user.c
b2d879096ac7997 Eric Paris 2009-12-17 219
44d705b0370b1d5 Amir Goldstein 2020-03-19 220 static int copy_info_to_user(__kernel_fsid_t *fsid, struct fanotify_fh *fh,
44d705b0370b1d5 Amir Goldstein 2020-03-19 221 const char *name, size_t name_len,
44d705b0370b1d5 Amir Goldstein 2020-03-19 222 char __user *buf, size_t count)
5e469c830fdb5a1 Amir Goldstein 2019-01-10 223 {
5e469c830fdb5a1 Amir Goldstein 2019-01-10 224 struct fanotify_event_info_fid info = { };
5e469c830fdb5a1 Amir Goldstein 2019-01-10 225 struct file_handle handle = { };
afc894c784c84cb Jan Kara 2020-03-24 226 unsigned char bounce[FANOTIFY_INLINE_FH_LEN], *fh_buf;
cacfb956d46edc5 Amir Goldstein 2020-03-19 227 size_t fh_len = fh ? fh->len : 0;
44d705b0370b1d5 Amir Goldstein 2020-03-19 228 size_t info_len = fanotify_fid_info_len(fh_len, name_len);
44d705b0370b1d5 Amir Goldstein 2020-03-19 229 size_t len = info_len;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 230
44d705b0370b1d5 Amir Goldstein 2020-03-19 231 pr_debug("%s: fh_len=%zu name_len=%zu, info_len=%zu, count=%zu\n",
44d705b0370b1d5 Amir Goldstein 2020-03-19 232 __func__, fh_len, name_len, info_len, count);
44d705b0370b1d5 Amir Goldstein 2020-03-19 233
44d705b0370b1d5 Amir Goldstein 2020-03-19 234 if (!fh_len || (name && !name_len))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 235 return 0;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 236
44d705b0370b1d5 Amir Goldstein 2020-03-19 237 if (WARN_ON_ONCE(len < sizeof(info) || len > count))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 238 return -EFAULT;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 239
44d705b0370b1d5 Amir Goldstein 2020-03-19 240 /*
44d705b0370b1d5 Amir Goldstein 2020-03-19 241 * Copy event info fid header followed by variable sized file handle
44d705b0370b1d5 Amir Goldstein 2020-03-19 242 * and optionally followed by variable sized filename.
44d705b0370b1d5 Amir Goldstein 2020-03-19 243 */
44d705b0370b1d5 Amir Goldstein 2020-03-19 244 info.hdr.info_type = name_len ? FAN_EVENT_INFO_TYPE_DFID_NAME :
44d705b0370b1d5 Amir Goldstein 2020-03-19 245 FAN_EVENT_INFO_TYPE_FID;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 246 info.hdr.len = len;
d766b553615ce67 Amir Goldstein 2020-03-19 247 info.fsid = *fsid;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 248 if (copy_to_user(buf, &info, sizeof(info)))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 249 return -EFAULT;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 250
5e469c830fdb5a1 Amir Goldstein 2019-01-10 251 buf += sizeof(info);
5e469c830fdb5a1 Amir Goldstein 2019-01-10 252 len -= sizeof(info);
44d705b0370b1d5 Amir Goldstein 2020-03-19 253 if (WARN_ON_ONCE(len < sizeof(handle)))
44d705b0370b1d5 Amir Goldstein 2020-03-19 254 return -EFAULT;
44d705b0370b1d5 Amir Goldstein 2020-03-19 255
afc894c784c84cb Jan Kara 2020-03-24 256 handle.handle_type = fh->type;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 257 handle.handle_bytes = fh_len;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 258 if (copy_to_user(buf, &handle, sizeof(handle)))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 259 return -EFAULT;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 260
5e469c830fdb5a1 Amir Goldstein 2019-01-10 261 buf += sizeof(handle);
5e469c830fdb5a1 Amir Goldstein 2019-01-10 262 len -= sizeof(handle);
44d705b0370b1d5 Amir Goldstein 2020-03-19 263 if (WARN_ON_ONCE(len < fh_len))
44d705b0370b1d5 Amir Goldstein 2020-03-19 264 return -EFAULT;
44d705b0370b1d5 Amir Goldstein 2020-03-19 265
b2d22b6bb33aac1 Jan Kara 2019-03-12 266 /*
44d705b0370b1d5 Amir Goldstein 2020-03-19 267 * For an inline fh and inline file name, copy through stack to exclude
44d705b0370b1d5 Amir Goldstein 2020-03-19 268 * the copy from usercopy hardening protections.
b2d22b6bb33aac1 Jan Kara 2019-03-12 269 */
afc894c784c84cb Jan Kara 2020-03-24 270 fh_buf = fanotify_fh_buf(fh);
b2d22b6bb33aac1 Jan Kara 2019-03-12 271 if (fh_len <= FANOTIFY_INLINE_FH_LEN) {
afc894c784c84cb Jan Kara 2020-03-24 272 memcpy(bounce, fh_buf, fh_len);
afc894c784c84cb Jan Kara 2020-03-24 273 fh_buf = bounce;
b2d22b6bb33aac1 Jan Kara 2019-03-12 274 }
afc894c784c84cb Jan Kara 2020-03-24 275 if (copy_to_user(buf, fh_buf, fh_len))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 276 return -EFAULT;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 277
5e469c830fdb5a1 Amir Goldstein 2019-01-10 278 buf += fh_len;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 279 len -= fh_len;
44d705b0370b1d5 Amir Goldstein 2020-03-19 280
44d705b0370b1d5 Amir Goldstein 2020-03-19 281 if (name_len) {
44d705b0370b1d5 Amir Goldstein 2020-03-19 282 /* Copy the filename with terminating null */
44d705b0370b1d5 Amir Goldstein 2020-03-19 283 name_len++;
44d705b0370b1d5 Amir Goldstein 2020-03-19 284 if (WARN_ON_ONCE(len < name_len))
44d705b0370b1d5 Amir Goldstein 2020-03-19 285 return -EFAULT;
44d705b0370b1d5 Amir Goldstein 2020-03-19 286
44d705b0370b1d5 Amir Goldstein 2020-03-19 287 if (copy_to_user(buf, name, name_len))
44d705b0370b1d5 Amir Goldstein 2020-03-19 288 return -EFAULT;
44d705b0370b1d5 Amir Goldstein 2020-03-19 289
44d705b0370b1d5 Amir Goldstein 2020-03-19 290 buf += name_len;
44d705b0370b1d5 Amir Goldstein 2020-03-19 291 len -= name_len;
44d705b0370b1d5 Amir Goldstein 2020-03-19 292 }
44d705b0370b1d5 Amir Goldstein 2020-03-19 293
44d705b0370b1d5 Amir Goldstein 2020-03-19 294 /* Pad with 0's */
5e469c830fdb5a1 Amir Goldstein 2019-01-10 295 WARN_ON_ONCE(len < 0 || len >= FANOTIFY_EVENT_ALIGN);
5e469c830fdb5a1 Amir Goldstein 2019-01-10 @296 if (len > 0 && clear_user(buf, len))
5e469c830fdb5a1 Amir Goldstein 2019-01-10 297 return -EFAULT;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 298
44d705b0370b1d5 Amir Goldstein 2020-03-19 299 return info_len;
5e469c830fdb5a1 Amir Goldstein 2019-01-10 300 }
5e469c830fdb5a1 Amir Goldstein 2019-01-10 301
:::::: The code at line 296 was first introduced by commit
:::::: 5e469c830fdb5a1ebaa69b375b87f583326fd296 fanotify: copy event fid info to user
:::::: TO: Amir Goldstein <amir73il(a)gmail.com>
:::::: CC: Jan Kara <jack(a)suse.cz>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[jkirsher-next-queue:dev-queue 8/33] drivers/net/ethernet/intel/i40e/i40e_txrx.c:1956:33: error: passing argument 1 of 'prefetch_page_address' from incompatible pointer type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head: 5cf0cbb14925b7131baa959b35a2267d6bbb6651
commit: c2b9f24be5de6d9737de68d2d75ae3bc81f9b7db [8/33] i40e: optimise prefetch page refcount
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.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
git checkout c2b9f24be5de6d9737de68d2d75ae3bc81f9b7db
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
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 drivers/net/ethernet/intel/i40e/i40e_txrx.c:4:
include/linux/prefetch.h:65:49: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
65 | static inline void prefetch_page_address(struct page *page)
| ^~~~
drivers/net/ethernet/intel/i40e/i40e_txrx.c: In function 'i40e_get_rx_buffer':
>> drivers/net/ethernet/intel/i40e/i40e_txrx.c:1956:33: error: passing argument 1 of 'prefetch_page_address' from incompatible pointer type [-Werror=incompatible-pointer-types]
1956 | prefetch_page_address(rx_buffer->page);
| ~~~~~~~~~^~~~~~
| |
| struct page *
In file included from drivers/net/ethernet/intel/i40e/i40e_txrx.c:4:
include/linux/prefetch.h:65:55: note: expected 'struct page *' but argument is of type 'struct page *'
65 | static inline void prefetch_page_address(struct page *page)
| ~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +/prefetch_page_address +1956 drivers/net/ethernet/intel/i40e/i40e_txrx.c
1941
1942 /**
1943 * i40e_get_rx_buffer - Fetch Rx buffer and synchronize data for use
1944 * @rx_ring: rx descriptor ring to transact packets on
1945 * @size: size of buffer to add to skb
1946 *
1947 * This function will pull an Rx buffer from the ring and synchronize it
1948 * for use by the CPU.
1949 */
1950 static struct i40e_rx_buffer *i40e_get_rx_buffer(struct i40e_ring *rx_ring,
1951 const unsigned int size)
1952 {
1953 struct i40e_rx_buffer *rx_buffer;
1954
1955 rx_buffer = i40e_rx_bi(rx_ring, rx_ring->next_to_clean);
> 1956 prefetch_page_address(rx_buffer->page);
1957
1958 /* we are reusing so sync this buffer for CPU use */
1959 dma_sync_single_range_for_cpu(rx_ring->dev,
1960 rx_buffer->dma,
1961 rx_buffer->page_offset,
1962 size,
1963 DMA_FROM_DEVICE);
1964
1965 /* We have pulled a buffer for use, so decrement pagecnt_bias */
1966 rx_buffer->pagecnt_bias--;
1967
1968 return rx_buffer;
1969 }
1970
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[ti:ti-rt-linux-5.4.y 9147/9274] include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.4.y
head: e6f6398802d41ad655b6a4108be588d533e3c1c4
commit: e804afb5449b93d5b543a1685b0b2fab328873fc [9147/9274] net: packet: pass on redundant net info in packet_recvmsg
config: parisc-randconfig-r011-20200810 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.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
git checkout e804afb5449b93d5b543a1685b0b2fab328873fc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 include/linux/mm.h:99,
from include/linux/bvec.h:13,
from include/linux/skbuff.h:17,
from include/linux/icmpv6.h:5,
from include/linux/ipv6.h:86,
from include/net/ipv6.h:12,
from include/net/6lowpan.h:58,
from net//6lowpan/core.c:10:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/linux/tcp.h:19,
from include/linux/ipv6.h:87,
from include/net/ipv6.h:12,
from include/net/6lowpan.h:58,
from net//6lowpan/core.c:10:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
--
In file included from arch/parisc/include/asm/io.h:6,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from arch/parisc/include/asm/hardirq.h:13,
from include/linux/hardirq.h:9,
from include/net/sock.h:38,
from net//dccp/ccid.h:13,
from net//dccp/ccid.c:13:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from net//dccp/ccid.h:13,
from net//dccp/ccid.c:13:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//dccp/ccid.c: In function 'ccid_kmem_cache_create':
net//dccp/ccid.c:85:2: warning: function 'ccid_kmem_cache_create' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
85 | vsnprintf(slab_name_fmt, CCID_SLAB_NAME_LENGTH, fmt, args);
| ^~~~~~~~~
--
In file included from arch/parisc/include/asm/io.h:6,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from arch/parisc/include/asm/hardirq.h:13,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/dccp.h:7,
from net//dccp/output.c:9:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/net/inet_sock.h:22,
from include/net/inet_connection_sock.h:20,
from include/linux/dccp.h:13,
from net//dccp/output.c:9:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//dccp/output.c: In function 'dccp_xmit_packet':
net//dccp/output.c:279:57: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
279 | dccp_pr_debug("transmit_skb() returned err=%d\n", err);
| ^
--
In file included from arch/parisc/include/asm/io.h:6,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from arch/parisc/include/asm/hardirq.h:13,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/dccp.h:7,
from net//dccp/dccp.h:12,
from net//dccp/ackvec.c:9:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/net/inet_sock.h:22,
from include/net/inet_connection_sock.h:20,
from include/linux/dccp.h:13,
from net//dccp/dccp.h:12,
from net//dccp/ackvec.c:9:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//dccp/ackvec.c: In function 'dccp_ackvec_update_old':
net//dccp/ackvec.c:163:45: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]
163 | (unsigned long long)seqno, state);
| ^
--
In file included from arch/parisc/include/asm/io.h:6,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from arch/parisc/include/asm/hardirq.h:13,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:11,
from include/linux/dccp.h:7,
from net//dccp/proto.c:9:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/net/inet_sock.h:22,
from include/net/inet_connection_sock.h:20,
from include/linux/dccp.h:13,
from net//dccp/proto.c:9:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
In file included from net//dccp/trace.h:84,
from net//dccp/proto.c:39:
include/trace/define_trace.h: At top level:
include/trace/define_trace.h:95:42: fatal error: ./trace.h: No such file or directory
95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
| ^
compilation terminated.
--
In file included from include/linux/mm.h:99,
from include/linux/bvec.h:13,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from include/uapi/linux/ethtool.h:19,
from include/linux/ethtool.h:18,
from include/linux/netdevice.h:37,
from include/linux/if_bridge.h:12,
from net//dsa/tag_8021q.c:9:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/linux/tcp.h:19,
from include/linux/ipv6.h:87,
from include/net/ipv6.h:12,
from include/net/inetpeer.h:16,
from include/net/ip_fib.h:20,
from include/net/switchdev.h:13,
from include/net/dsa.h:23,
from net//dsa/dsa_priv.h:13,
from net//dsa/tag_8021q.c:12:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//dsa/tag_8021q.c: At top level:
net//dsa/tag_8021q.c:65:5: warning: no previous prototype for 'dsa_8021q_tx_vid' [-Wmissing-prototypes]
65 | u16 dsa_8021q_tx_vid(struct dsa_switch *ds, int port)
| ^~~~~~~~~~~~~~~~
net//dsa/tag_8021q.c:75:5: warning: no previous prototype for 'dsa_8021q_rx_vid' [-Wmissing-prototypes]
75 | u16 dsa_8021q_rx_vid(struct dsa_switch *ds, int port)
| ^~~~~~~~~~~~~~~~
net//dsa/tag_8021q.c:83:5: warning: no previous prototype for 'dsa_8021q_rx_switch_id' [-Wmissing-prototypes]
83 | int dsa_8021q_rx_switch_id(u16 vid)
| ^~~~~~~~~~~~~~~~~~~~~~
net//dsa/tag_8021q.c:90:5: warning: no previous prototype for 'dsa_8021q_rx_source_port' [-Wmissing-prototypes]
90 | int dsa_8021q_rx_source_port(u16 vid)
| ^~~~~~~~~~~~~~~~~~~~~~~~
net//dsa/tag_8021q.c:221:5: warning: no previous prototype for 'dsa_port_setup_8021q_tagging' [-Wmissing-prototypes]
221 | int dsa_port_setup_8021q_tagging(struct dsa_switch *ds, int port, bool enabled)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
net//dsa/tag_8021q.c:292:17: warning: no previous prototype for 'dsa_8021q_xmit' [-Wmissing-prototypes]
292 | struct sk_buff *dsa_8021q_xmit(struct sk_buff *skb, struct net_device *netdev,
| ^~~~~~~~~~~~~~
--
In file included from include/linux/mm.h:99,
from net//ipv4/route.c:68:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/linux/mroute_base.h:8,
from include/linux/mroute.h:10,
from net//ipv4/route.c:82:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//ipv4/route.c: In function 'ip_rt_send_redirect':
net//ipv4/route.c:875:6: warning: variable 'log_martians' set but not used [-Wunused-but-set-variable]
875 | int log_martians;
| ^~~~~~~~~~~~
--
In file included from include/linux/mm.h:99,
from net//ipv6/af_inet6.c:31:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:316:34: note: in expansion of macro 'set_pte_at'
316 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:91:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
91 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:629:2: note: in expansion of macro 'set_pte_at'
629 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
In file included from include/linux/tcp.h:19,
from include/net/tcp.h:20,
from include/linux/netfilter_ipv6.h:11,
from net//ipv6/af_inet6.c:41:
include/net/sock.h: In function 'sock_recv_redundant_info':
>> include/net/sock.h:2457:29: error: 'SCM_REDUNDANT' undeclared (first use in this function)
2457 | put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
| ^~~~~~~~~~~~~
include/net/sock.h:2457:29: note: each undeclared identifier is reported only once for each function it appears in
net//ipv6/af_inet6.c: At top level:
net//ipv6/af_inet6.c:569:5: warning: no previous prototype for 'inet6_sendmsg' [-Wmissing-prototypes]
569 | int inet6_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
| ^~~~~~~~~~~~~
net//ipv6/af_inet6.c:582:5: warning: no previous prototype for 'inet6_recvmsg' [-Wmissing-prototypes]
582 | int inet6_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
| ^~~~~~~~~~~~~
..
vim +/SCM_REDUNDANT +2457 include/net/sock.h
2449
2450 static inline void sock_recv_redundant_info(struct msghdr *msg, struct sock *sk,
2451 struct sk_buff *skb)
2452 {
2453 struct skb_redundant_info *sred;
2454
2455 sred = skb_redinfo(skb);
2456 if (sred->lsdu_size)
> 2457 put_cmsg(msg, SOL_SOCKET, SCM_REDUNDANT, sizeof(*sred), sred);
2458 }
2459
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month