Patch "rtc: pcf2127: fix bug when reading alarm registers" has been added to the 5.17-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    rtc: pcf2127: fix bug when reading alarm registers

to the 5.17-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     rtc-pcf2127-fix-bug-when-reading-alarm-registers.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0b5ce9af262fc260b1f6c3bd06e830c5ebc10718
Author: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
Date:   Tue Feb 8 11:29:07 2022 -0500

    rtc: pcf2127: fix bug when reading alarm registers
    
    [ Upstream commit 73ce05302007eece23a6acb7dc124c92a2209087 ]
    
    The first bug is that reading the 5 alarm registers results in a read
    operation of 20 bytes. The reason is because the destination buffer is
    defined as an array of "unsigned int", and we use the sizeof()
    operator on this array to define the bulk read count.
    
    The second bug is that the read value is invalid, because we are
    indexing the destination buffer as integers (4 bytes), instead of
    indexing it as u8.
    
    Changing the destination buffer type to u8 fixes both problems.
    
    Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20220208162908.3182581-1-hugo@xxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 81a5b1f2e68c..6c9d8de41e7b 100644
--- a/drivers/rtc/rtc-pcf2127.c
+++ b/drivers/rtc/rtc-pcf2127.c
@@ -374,7 +374,8 @@ static int pcf2127_watchdog_init(struct device *dev, struct pcf2127 *pcf2127)
 static int pcf2127_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
 {
 	struct pcf2127 *pcf2127 = dev_get_drvdata(dev);
-	unsigned int buf[5], ctrl2;
+	u8 buf[5];
+	unsigned int ctrl2;
 	int ret;
 
 	ret = regmap_read(pcf2127->regmap, PCF2127_REG_CTRL2, &ctrl2);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux