···77title: Qualcomm Display Clock & Reset Controller on SM63508899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm display clock control module provides the clocks, resets and power
···77title: Qualcomm Global Clock & Reset Controller on MSM89948899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm global clock control module provides the clocks, resets and power
···77title: Qualcomm Global Clock & Reset Controller on SM61258899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm global clock control module provides the clocks, resets and power
···77title: Qualcomm Global Clock & Reset Controller on SM63508899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm global clock control module provides the clocks, resets and power
···77title: Qualcomm Graphics Clock & Reset Controller on SM61158899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm graphics clock control module provides clocks, resets and power
···77title: Qualcomm Graphics Clock & Reset Controller on SM61258899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm graphics clock control module provides clocks and power domains on
···77title: Qualcomm Camera Clock & Reset Controller on SM63508899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm camera clock control module provides the clocks, resets and power
···77title: Qualcomm Display Clock & Reset Controller on SM63758899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm display clock control module provides the clocks, resets and power
···77title: Qualcomm Global Clock & Reset Controller on SM63758899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm global clock control module provides the clocks, resets and power
···77title: Qualcomm Graphics Clock & Reset Controller on SM63758899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm graphics clock control module provides clocks, resets and power
···77title: Qualcomm SM8350 Video Clock & Reset Controller8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm video clock control module provides the clocks, resets and power
···77title: Qualcomm Graphics Clock & Reset Controller on SM84508899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm graphics clock control module provides the clocks, resets and power
···77title: ASUS Z00T TM5P5 NT35596 5.5" 1080×1920 LCD Panel8899maintainers:1010- - Konrad Dybcio <konradybcio@gmail.com>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |+1313 This panel seems to only be found in the Asus Z00T
···77title: Sony TD4353 JDI 5 / 5.7" 2160x1080 MIPI-DSI Panel8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 The Sony TD4353 JDI is a 5 (XZ2c) / 5.7 (XZ2) inch 2160x1080
···8899maintainers:1010 - Bjorn Andersson <andersson@kernel.org>1111- - Konrad Dybcio <konrad.dybcio@linaro.org>1111+ - Konrad Dybcio <konradybcio@kernel.org>12121313description: |1414 RPMh interconnect providers support system bandwidth requirements through
···8899maintainers:1010 - Bjorn Andersson <andersson@kernel.org>1111- - Konrad Dybcio <konrad.dybcio@linaro.org>1111+ - Konrad Dybcio <konradybcio@kernel.org>12121313description: |1414 RPMh interconnect providers support system bandwidth requirements through
···8899maintainers:1010 - Bjorn Andersson <andersson@kernel.org>1111- - Konrad Dybcio <konrad.dybcio@linaro.org>1111+ - Konrad Dybcio <konradybcio@kernel.org>12121313description: |1414 RPMh interconnect providers support system bandwidth requirements through
···77title: Qualcomm Technologies legacy IOMMU implementations8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 Qualcomm "B" family devices which are not compatible with arm-smmu have
···77title: Qualcomm Technologies, Inc. MDM9607 TLMM block8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description:1313 Top Level Mode Multiplexer pin controller in Qualcomm MDM9607 SoC.
···77title: Qualcomm Technologies, Inc. SM6350 TLMM block8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description:1313 Top Level Mode Multiplexer pin controller in Qualcomm SM6350 SoC.
···77title: Qualcomm Technologies, Inc. SM6375 TLMM block8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@somainline.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description:1313 Top Level Mode Multiplexer pin controller in Qualcomm SM6375 SoC.
···77title: Qualcomm Technologies, Inc. (QTI) RPM Master Stats8899maintainers:1010- - Konrad Dybcio <konrad.dybcio@linaro.org>1010+ - Konrad Dybcio <konradybcio@kernel.org>11111212description: |1313 The Qualcomm RPM (Resource Power Manager) architecture includes a concept
+11-4
drivers/of/irq.c
···344344 struct device_node *p;345345 const __be32 *addr;346346 u32 intsize;347347- int i, res;347347+ int i, res, addr_len;348348+ __be32 addr_buf[3] = { 0 };348349349350 pr_debug("of_irq_parse_one: dev=%pOF, index=%d\n", device, index);350351···354353 return of_irq_parse_oldworld(device, index, out_irq);355354356355 /* Get the reg property (if any) */357357- addr = of_get_property(device, "reg", NULL);356356+ addr = of_get_property(device, "reg", &addr_len);357357+358358+ /* Prevent out-of-bounds read in case of longer interrupt parent address size */359359+ if (addr_len > (3 * sizeof(__be32)))360360+ addr_len = 3 * sizeof(__be32);361361+ if (addr)362362+ memcpy(addr_buf, addr, addr_len);358363359364 /* Try the new-style interrupts-extended first */360365 res = of_parse_phandle_with_args(device, "interrupts-extended",361366 "#interrupt-cells", index, out_irq);362367 if (!res)363363- return of_irq_parse_raw(addr, out_irq);368368+ return of_irq_parse_raw(addr_buf, out_irq);364369365370 /* Look for the interrupt parent. */366371 p = of_irq_find_parent(device);···396389397390398391 /* Check if there are any interrupt-map translations to process */399399- res = of_irq_parse_raw(addr, out_irq);392392+ res = of_irq_parse_raw(addr_buf, out_irq);400393 out:401394 of_node_put(p);402395 return res;