lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 19 Sep 2011 15:37:22 +0800
From:	Han Pingtian <phan@...hat.com>
To:	Borislav Petkov <bp@...64.org>
Cc:	mchehab@...hat.com, linux-kernel@...r.kernel.org,
	edac-devel <linux-edac@...r.kernel.org>
Subject: Re: [PATCH v2] Fix EDAC sdram_scrub_rate read/write failure

On Fri, Sep 16, 2011 at 02:53:27PM +0200, Borislav Petkov wrote:
> On Fri, Sep 16, 2011 at 06:58:56PM +0800, Han Pingtian wrote:
> > If sdram scrubbing rate ins't implemented on current system, read it
> > will cause an error:
> > 
> > cat: /sys/devices/system/edac/mc//mc0/sdram_scrub_rate: Invalid argument
> > 
> > The eba042a81edd6baaff44831b2d719b14a6d21e58 let it returning -EINVAL,
> 
> Can you please add the patch author to CC next time, out of courtesy?
Will do next time. Thanks.
> Thanks.
> 
> > but according to the document, it should show -1:
> > 
> > dram memory scrubbing rate:
> > 
> >         'sdram_scrub_rate'
> > 
> >         Read/Write attribute file that controls memory scrubbing. The scrubbing
> >         rate is set by writing a minimum bandwidth in bytes/sec to the attribute
> >         file. The rate will be translated to an internal value that gives at
> >         least the specified rate.
> > 
> >         Reading the file will return the actual scrubbing rate employed.
> > 
> >         If configuration fails or memory scrubbing is not implemented, the value
> >         of the attribute file will be -1.
> > 
> > Signed-off-by: Han Pingtian <phan@...hat.com>
> > ---
> >  drivers/edac/edac_mc_sysfs.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
> > index 29ffa35..602fdcf 100644
> > --- a/drivers/edac/edac_mc_sysfs.c
> > +++ b/drivers/edac/edac_mc_sysfs.c
> > @@ -475,7 +475,7 @@ static ssize_t mci_sdram_scrub_rate_show(struct mem_ctl_info *mci, char *data)
> >  	int bandwidth = 0;
> >  
> >  	if (!mci->get_sdram_scrub_rate)
> > -		return -EINVAL;
> > +		return sprintf(date, "%d\n", -1);
> 
> Have you even build-tested your patch:
> 
> drivers/edac/edac_mc_sysfs.c: In function ‘mci_sdram_scrub_rate_show’:
> drivers/edac/edac_mc_sysfs.c:478: error: ‘date’ undeclared (first use in this function)
> drivers/edac/edac_mc_sysfs.c:478: error: (Each undeclared identifier is reported only once
> drivers/edac/edac_mc_sysfs.c:478: error: for each function it appears in.)
> make[2]: *** [drivers/edac/edac_mc_sysfs.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [drivers/edac] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make: *** [drivers] Error 2
> make: *** Waiting for unfinished jobs....
> 
> >  
> >  	bandwidth = mci->get_sdram_scrub_rate(mci);
> >  	if (bandwidth < 0) {
> 
> Anyway, the EDAC document says that sdram_scrub_rate is
> read/write and when writing you have to write -1 too. Care to fix
Cannot figure out how to write -1 here. Since the document just says the
value will be -1 when configuration fails or memory scrubbing is not
implemented, I think we can do nothing when setting the vaule if
scrubbing not implemented and just make sure showing will return -1.
> mci_sdram_scrub_rate_store too, test your patch properly and resend?

Thanks your review. I have tested the new patch attached. Please have a
look. 

Thanks.
-- 
Han Pingtian
Quality Engineer
hpt @ #kernel-qe
Red Hat, Inc
Freedom ... courage ... Commitment ... ACCOUNTABILITY

View attachment "0001-Fix-EDAC-sdram_scrub_rate-read-write-failure.patch" of type "text/plain" (2398 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ