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>] [day] [month] [year] [list]
Date:	Fri, 17 Jan 2014 19:09:35 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Ming Lei <tom.leiming@...il.com>
Cc:	Jeff Liu <jeff.liu@...cle.com>, LKML <linux-kernel@...r.kernel.org>
Subject: [percpu_counter] a9804b7b0: xfstests.generic.226.fail

Hi Ming Lei,

So this xfstests regression is also caused by the known bug in below
commit?  Full dmesg is attached.

[  449.390196] EXT4-fs (vdd): mounted filesystem with ordered data mode. Opts: acl,user_xattr
[  456.122979] EXT4-fs (vdd): Delayed block allocation failed for inode 13 at logical offset 367137 with max blocks 2048 with error 28
[  456.129367] EXT4-fs (vdd): This should not happen!! Data will be lost
[  456.129367]
[  456.130985] EXT4-fs (vdd): Total free blocks count 0
[  456.132330] EXT4-fs (vdd): Free/Dirty block details
[  456.133325] EXT4-fs (vdd): free_blocks=212443
[  456.137180] EXT4-fs (vdd): dirty_blocks=208347
[  456.138048] EXT4-fs (vdd): Block reservation details
[  456.139083] EXT4-fs (vdd): i_reserved_data_blocks=9222
[  456.140076] EXT4-fs (vdd): i_reserved_meta_blocks=1111
[  456.141047] EXT4-fs (vdd): i_allocated_meta_blocks=0
[  460.182192] EXT4-fs (vda): mounted filesystem with ordered data mode. Opts: acl,user_xattr

a9804b7b0aa2bf65b7cd1979306cbac4dcb6974f is the first bad commit
commit a9804b7b0aa2bf65b7cd1979306cbac4dcb6974f
Author:     Ming Lei <tom.leiming@...il.com>
AuthorDate: Wed Jan 15 16:54:26 2014 +1100
Commit:     Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Wed Jan 15 16:54:26 2014 +1100

    lib/percpu_counter.c: fix __percpu_counter_add()
    
    __percpu_counter_add() may be called in softirq/hardirq handler (such as,
    blk_mq_queue_exit() is typically called in hardirq/softirq handler), so we
    need to call this_cpu_add()(irq safe helper) to update percpu counter,
    otherwise counts may be lost.
    
    The patch fixes problem that 'rmmod null_blk' hangs in blk_cleanup_queue()
    because of miscounting of request_queue->mq_usage_counter.
    
    This patch is the v1 of previous one of "lib/percpu_counter.c:
    disable local irq when updating percpu couter", and takes Andrew's
    approach which may be more efficient for ARCHs(x86, s390) that
    have optimized this_cpu_add().
    
    Signed-off-by: Ming Lei <tom.leiming@...il.com>
    Cc: Paul Gortmaker <paul.gortmaker@...driver.com>
    Cc: Shaohua Li <shli@...ionio.com>
    Cc: Jens Axboe <axboe@...nel.dk>
    Cc: Fan Du <fan.du@...driver.com>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

 lib/percpu_counter.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


View attachment ".dmesg" of type "text/plain" (68076 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ