Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: "Mateusz Jończyk" <mat.jonczyk@o2.pl>
Cc: "Chen, Kane" <kane.chen@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>
Subject: Re: [PATCH v1] rtc: cmos: avoid UIP when writing/reading alarm time
Date: Sun, 11 Dec 2022 01:09:34 -0500	[thread overview]
Message-ID: <Y5V0HpqcueAth01g@sashalap> (raw)
In-Reply-To: <4f74e731-0dce-2234-f834-c46b54ec9a43@o2.pl>

On Fri, Dec 09, 2022 at 11:40:56PM +0100, Mateusz Jończyk wrote:
>W dniu 9.12.2022 o 01:37, Sasha Levin pisze:
>> On Thu, Dec 08, 2022 at 10:47:17PM +0100, Mateusz Jończyk wrote:
>>> W dniu 7.12.2022 o 07:51, Chen, Kane pisze:
>>>>> -----Original Message-----
>>>>> From: Sasha Levin <sashal@kernel.org>
>>>>> Sent: Wednesday, December 7, 2022 1:13 PM
>>>>> To: Chen, Kane <kane.chen@intel.com>
>>>>> Cc: stable@vger.kernel.org
>>>>> Subject: Re: [PATCH v1] rtc: cmos: avoid UIP when writing/reading alarm time
>>>>>
>>>>> On Wed, Dec 07, 2022 at 11:57:22AM +0800, Kane Chen wrote:
>>>>>> While runnings s0ix cycling test based on rtc alarm wakeup on ADL-P
>>>>>> devices, We found the data from CMOS_READ is not reasonable and causes
>>>>> RTC wake up fail.
>>>>>> With the below changes, we don't see unreasonable data from cmos and
>>>>> issue is gone.
>>>>>
>>>>> Thanks for the analysis, I can queue most of these up. There are two which
>>>>> won't go in:
>>>>>
>>>>>> cd17420: rtc: cmos: avoid UIP when writing alarm time
>>>>>> cdedc45: rtc: cmos: avoid UIP when reading alarm time
>>>>>> ec5895c: rtc: mc146818-lib: extract mc146818_avoid_UIP
>>>>>> ea6fa49: rtc: mc146818-lib: fix RTC presence check
>>>>>> 13be2ef: rtc: cmos: Disable irq around direct invocation of
>>>>>> cmos_interrupt()
>>>>>> 0dd8d6c: rtc: Check return value from mc146818_get_time()
>>>>>> e1aba37: rtc: cmos: remove stale REVISIT comments
>>>>>> 6950d04: rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard
>>>>>> IRQ
>>>>> This one fixes a commit which isn't in the 5.10 tree.
>>>>>
>>>>>> d35786b: rtc: mc146818-lib: change return values of mc146818_get_time()
>>>>>> ebb22a0: rtc: mc146818: Dont test for bit 0-5 in Register D
>>>>>> 211e5db: rtc: mc146818: Detect and handle broken RTCs
>>>>>> dcf257e: rtc: mc146818: Reduce spinlock section in mc146818_set_time()
>>>>> This one looks like an optimization.
>>>>>
>>>>> --
>>>> I'm sorry,
>>>> I thought dcf257e and  6950d04, 13be2ef  are also required to avoid cherry-pick conflict
>>>> After checking again, dcf257e, 6950d04, 13be2ef are not needed.
>>>>
>>>> Here is the list I would like to pick
>>>> cd17420: rtc: cmos: avoid UIP when writing alarm time
>>>> cdedc45: rtc: cmos: avoid UIP when reading alarm time
>>>> ec5895c: rtc: mc146818-lib: extract mc146818_avoid_UIP
>>>> ea6fa49: rtc: mc146818-lib: fix RTC presence check
>>>> 0dd8d6c: rtc: Check return value from mc146818_get_time()
>>>> e1aba37: rtc: cmos: remove stale REVISIT comments
>>>> d35786b: rtc: mc146818-lib: change return values of mc146818_get_time()
>>>> ebb22a0: rtc: mc146818: Dont test for bit 0-5 in Register D
>>>> 211e5db: rtc: mc146818: Detect and handle broken RTCs
>>>> 05a0302: rtc: mc146818: Prevent reading garbage
>>>>
>>>> Thanks a lot
>>>>
>>>>> Thanks,
>>>>> Sasha
>>>>>
>>> Hello,
>>>
>>> I think that you should also pick these patches which fix issues in the series
>>> that is prepared for 5.4:
>>>
>>> 1) commit 7372971c1be5 ("rtc: mc146818-lib: fix signedness bug in mc146818_get_time()")
>>>
>>> which fixes d35786b: rtc: mc146818-lib: change return values of mc146818_get_time()
>>>
>>> 2) commit 13be2efc390a ("rtc: cmos: Disable irq around direct invocation of cmos_interrupt()")
>>>
>>> which fixes 6950d04: rtc: cmos: Replace spin_lock_irqsave with spin_lock in hard IRQ
>>> and is not prepared for 5.4 stable even though it was mentioned above.
>>>
>>> 3) commit 811f5559270f ("rtc: mc146818-lib: fix locking in mc146818_set_time")
>>>
>>> which fixes dcf257e: rtc: mc146818: Reduce spinlock section in mc146818_set_time()
>>
>> Ack, will do, thanks.
>
>Hello,
>
>However, I would like to ask: is it really necessary to include all of
>these patches in stable? I think that it is very likely that only these patches
>are sufficient to fix the original problem reported by Kane Chen:
>
>cd17420: rtc: cmos: avoid UIP when writing alarm time
>cdedc45: rtc: cmos: avoid UIP when reading alarm time
>ec5895c: rtc: mc146818-lib: extract mc146818_avoid_UIP

I would agree that this could be enough to fix the issue that was
described, but...

>These patches should be most relevant when using the RTC alarm and are
>self-contained. So I would like to ask Kane Chen to recheck with these patches
>only. Other patches change the CMOS RTC reading routines significantly
>and have a higher risk of introducing regressions (but I am not aware of any
>outstanding problems).

The rest of the patches do look like fixes that should have been added
to stable (or are dependencies of such fixes) on their own. Given
those patches are pretty old, any reason to not just include them?

The process works better if we address issues before making users come
and complain on the mailing list :)

-- 
Thanks,
Sasha

  reply	other threads:[~2022-12-11  6:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-07  3:57 [PATCH v1] rtc: cmos: avoid UIP when writing/reading alarm time Kane Chen
2022-12-07  5:13 ` Sasha Levin
2022-12-07  6:51   ` Chen, Kane
2022-12-08 21:47     ` Mateusz Jończyk
2022-12-09  0:37       ` Sasha Levin
2022-12-09 22:40         ` Mateusz Jończyk
2022-12-11  6:09           ` Sasha Levin [this message]
2022-12-11  8:31             ` Chen, Kane

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y5V0HpqcueAth01g@sashalap \
    --to=sashal@kernel.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=kane.chen@intel.com \
    --cc=mat.jonczyk@o2.pl \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox