← Back to team overview

kernel-packages team mailing list archive

[Bug 1591537] [NEW] On function __find_get_block issue.

 

Public bug reported:

Here is the file http://lxr.free-electrons.com/source/fs/buffer.c#L1354
Very strange here 

52  */
1353 struct buffer_head *
1354 __find_get_block(struct block_device *bdev, sector_t block, unsigned size)
1355 {
1356         struct buffer_head *bh = lookup_bh_lru(bdev, block, size);
1357 
1358         if (bh == NULL) {
1359                 /* __find_get_block_slow will mark the page accessed */
1360                 bh = __find_get_block_slow(bdev, block);
1361                 if (bh)
1362                         bh_lru_install(bh);
1363         } else
1364                 touch_buffer(bh);
1365 
1366         return bh;
1367 }
1368 EXPORT_SYMBOL(__find_get_block);
struct buffer_head *bh = lookup_bh_lru(bdev, block, size);
*bh is equalized without performing running look_bh_lru and after check for NULL pointer verry strange:

Bellow is content of perf report:
.............................
 
       │       mov    %edx,%edx
       │     ↓ jmp    31
       │ 29:┌─→add    $0x1,%ecx
       │    │  cmp    $0x10,%ecx
       │    │↓ je     8e
       │ 31:│  mov    %ecx,%r8d
       │    │  mov    %gs:0x11080(,%r8,8),%rax
       │    │  test   %rax,%rax
       │    │  mov    %rax,%rbx
       │    │↑ je     29
       │    │  cmp    0x18(%rax),%rsi
100,00 │    └──jne    29
       │       cmp    0x30(%rax),%rdi
       │     ↑ jne    29
       │       cmp    %rdx,0x20(%rax)
       │     ↑ jne    29
       │       test   %ecx,%ecx
............................................

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-22-generic 4.4.0-22.40
ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/pcmC0D0p:   asu        3213 F...m pulseaudio
 /dev/snd/controlC0:  asu        3213 F.... pulseaudio
CurrentDesktop: MATE
Date: Sat Jun 11 20:46:19 2016
InstallationDate: Installed on 2016-04-29 (43 days ago)
InstallationMedia: Ubuntu-Studio 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
IwConfig:
 lo        no wireless extensions.
 
 enp1s0    no wireless extensions.
MachineType: Olidata S.p.A. ALABAMA
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-22-generic root=/dev/mapper/192--168--0--108--vg-root ro
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-22-generic N/A
 linux-backports-modules-4.4.0-22-generic  N/A
 linux-firmware                            1.157
RfKill:
 
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/08/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: S0101
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: To be filled by O.E.M.
dmi.board.vendor: To be filled by O.E.M.
dmi.board.version: To be filled by O.E.M.
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrS0101:bd07/08/2008:svnOlidataS.p.A.:pnALABAMA:pvrToBeFilledByO.E.M.:rvnTobefilledbyO.E.M.:rnTobefilledbyO.E.M.:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: ALABAMA
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: Olidata S.p.A.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug xenial

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1591537

Title:
  On function __find_get_block issue.

Status in linux package in Ubuntu:
  New

Bug description:
  Here is the file http://lxr.free-electrons.com/source/fs/buffer.c#L1354
  Very strange here 

  52  */
  1353 struct buffer_head *
  1354 __find_get_block(struct block_device *bdev, sector_t block, unsigned size)
  1355 {
  1356         struct buffer_head *bh = lookup_bh_lru(bdev, block, size);
  1357 
  1358         if (bh == NULL) {
  1359                 /* __find_get_block_slow will mark the page accessed */
  1360                 bh = __find_get_block_slow(bdev, block);
  1361                 if (bh)
  1362                         bh_lru_install(bh);
  1363         } else
  1364                 touch_buffer(bh);
  1365 
  1366         return bh;
  1367 }
  1368 EXPORT_SYMBOL(__find_get_block);
  struct buffer_head *bh = lookup_bh_lru(bdev, block, size);
  *bh is equalized without performing running look_bh_lru and after check for NULL pointer verry strange:

  Bellow is content of perf report:
  .............................
   
         │       mov    %edx,%edx
         │     ↓ jmp    31
         │ 29:┌─→add    $0x1,%ecx
         │    │  cmp    $0x10,%ecx
         │    │↓ je     8e
         │ 31:│  mov    %ecx,%r8d
         │    │  mov    %gs:0x11080(,%r8,8),%rax
         │    │  test   %rax,%rax
         │    │  mov    %rax,%rbx
         │    │↑ je     29
         │    │  cmp    0x18(%rax),%rsi
  100,00 │    └──jne    29
         │       cmp    0x30(%rax),%rdi
         │     ↑ jne    29
         │       cmp    %rdx,0x20(%rax)
         │     ↑ jne    29
         │       test   %ecx,%ecx
  ............................................

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: linux-image-4.4.0-22-generic 4.4.0-22.40
  ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
  Uname: Linux 4.4.0-22-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2.1
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/pcmC0D0p:   asu        3213 F...m pulseaudio
   /dev/snd/controlC0:  asu        3213 F.... pulseaudio
  CurrentDesktop: MATE
  Date: Sat Jun 11 20:46:19 2016
  InstallationDate: Installed on 2016-04-29 (43 days ago)
  InstallationMedia: Ubuntu-Studio 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
  IwConfig:
   lo        no wireless extensions.
   
   enp1s0    no wireless extensions.
  MachineType: Olidata S.p.A. ALABAMA
  ProcFB: 0 inteldrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-22-generic root=/dev/mapper/192--168--0--108--vg-root ro
  RelatedPackageVersions:
   linux-restricted-modules-4.4.0-22-generic N/A
   linux-backports-modules-4.4.0-22-generic  N/A
   linux-firmware                            1.157
  RfKill:
   
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 07/08/2008
  dmi.bios.vendor: American Megatrends Inc.
  dmi.bios.version: S0101
  dmi.board.asset.tag: To Be Filled By O.E.M.
  dmi.board.name: To be filled by O.E.M.
  dmi.board.vendor: To be filled by O.E.M.
  dmi.board.version: To be filled by O.E.M.
  dmi.chassis.asset.tag: To Be Filled By O.E.M.
  dmi.chassis.type: 3
  dmi.chassis.vendor: To Be Filled By O.E.M.
  dmi.chassis.version: To Be Filled By O.E.M.
  dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrS0101:bd07/08/2008:svnOlidataS.p.A.:pnALABAMA:pvrToBeFilledByO.E.M.:rvnTobefilledbyO.E.M.:rnTobefilledbyO.E.M.:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
  dmi.product.name: ALABAMA
  dmi.product.version: To Be Filled By O.E.M.
  dmi.sys.vendor: Olidata S.p.A.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1591537/+subscriptions


Follow ups