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-next>] [day] [month] [year] [list]
Message-ID: <Yfv5OxhDdfLHETkt@smile.fi.intel.com>
Date:   Thu, 3 Feb 2022 17:48:11 +0200
From:   "andriy.shevchenko@...ux.intel.com" 
        <andriy.shevchenko@...ux.intel.com>
To:     "Ma, Jianpeng" <jianpeng.ma@...el.com>,
        Yury Norov <yury.norov@...il.com>
Cc:     Rasmus Villemoes <linux@...musvillemoes.dk>,
        linux-kernel@...r.kernel.org
Subject: Re: Why not use kvcalloc in bitmap_zalloc/bitmap_alloc?

On Wed, Jan 13, 2021 at 01:02:30AM +0000, Ma, Jianpeng wrote:
> Hi Andy:
>      Currently, I want to use bitmap_zalloc. But because I need large space(pages > 1024). So met the following message.
>      From the code, I know bitmap_zalloc use kmalloc.  To fix this problem, I change the code use "kvcalloc(BITS_TO_LONGS(ns->pages_total), sizeof(unsigned long), GFP_KERNEL);"
>      Because you introduced bitmap_zalloc, so I wanted to know why use kvcalloc in bitmap_zalloc?  Are there other considerations?

+Cc: maintainer and mailing list

> 2114 Jan 12 08:44:46 ceph kernel: [19770.801510] Modules linked in: test_nvm(E+) bcache(E) crc64 btrfs blake2b_generic xor zstd_compress raid6_pq ufs qnx4 hfsplus hfs minix ntfs msdos jfs intel_rapl_msr intel_rapl_common dax_pmem_compat  device_dax nd_pmem dax_pmem_core nd_btt skx_edac ipmi_ssif x86_pkg_temp_thermal binfmt_misc intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper nls_iso8859_1 raplxfs intel_cstate libcrc32c input_leds efi_pstore ast drm_vram_helper drm_ttm_helper ttm drm_kms_helper cec drm i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt switchtec lpc_ich mei_me mei ioatdma acpi_ipmi ipmi_si ipmi_devintf ipmi_msghandler nfit acpi_pad acpi_power_meter mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid hid ixgbe megaraid_sas xfrm_algo i40e dca mdio nvme nvme_core ahci libahci wmi [last unloaded: bcache]
>  2115 Jan 12 08:44:46 ceph kernel: [19770.801568] CPU: 72 PID: 74351 Comm: insmod Tainted: G            E     5.10.0-rc5+ #1
>  2116 Jan 12 08:44:46 ceph kernel: [19770.801569] Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0008.031920191559 03/19/2019
>  2117 Jan 12 08:44:46 ceph kernel: [19770.801572] RIP: 0010:__alloc_pages_nodemask+0x297/0x330
>  2118 Jan 12 08:44:46 ceph kernel: [19770.801574] Code: 08 44 89 f9 44 89 ea 4c 89 f6 e8 54 96 fc ff e9 4c ff ff ff e8 fa 17 fc ff 48 89 c7 e9 b8 fe ff ff 41 81 e4 00 20 00 00 75 a7 <0f> 0b eb a3 31 c0 e9 1b fe ff ff 65 48 8b 04 25 c0 7b       01 00 8b 40
>  2119 Jan 12 08:44:46 ceph kernel: [19770.801575] RSP: 0018:ffffb2afcd4e39d8 EFLAGS: 00010246
>  2120 Jan 12 08:44:46 ceph kernel: [19770.801577] RAX: 0000000000000000 RBX: 0000000000000dc0 RCX: 0000000000000000
>  2121 Jan 12 08:44:46 ceph kernel: [19770.801578] RDX: 0000000000000001 RSI: 000000000000000b RDI: 0000000000040dc0
>  2122 Jan 12 08:44:46 ceph kernel: [19770.801579] RBP: ffffb2afcd4e3a30 R08: ffffffffb29c83c8 R09: 0000000000000000
>  2123 Jan 12 08:44:46 ceph kernel: [19770.801580] R10: 0000000000000000 R11: fefefefefefefeff R12: 0000000000000000
>  2124 Jan 12 08:44:46 ceph kernel: [19770.801581] R13: ffffffffb29c83c8 R14: 000000000000000b R15: 0000000000000000
>  2125 Jan 12 08:44:46 ceph kernel: [19770.801583] FS:  00007f24f731b540(0000) GS:ffff89abc1800000(0000) knlGS:0000000000000000
>  2126 Jan 12 08:44:46 ceph kernel: [19770.801584] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>  2127 Jan 12 08:44:46 ceph kernel: [19770.801585] CR2: 00007f24f6e9f450 CR3: 00000040fc79e004 CR4: 00000000007706e0
>  2128 Jan 12 08:44:46 ceph kernel: [19770.801586] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
>  2129 Jan 12 08:44:46 ceph kernel: [19770.801587] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
>  2130 Jan 12 08:44:46 ceph kernel: [19770.801588] PKRU: 55555554
>  2131 Jan 12 08:44:46 ceph kernel: [19770.801589] Call Trace:
>  2132 Jan 12 08:44:46 ceph kernel: [19770.801598]  alloc_pages_current+0x87/0xe0
>  2133 Jan 12 08:44:46 ceph kernel: [19770.801602]  kmalloc_order+0x2c/0x90
>  2134 Jan 12 08:44:46 ceph kernel: [19770.801604]  kmalloc_order_trace+0x1d/0x80
>  2135 Jan 12 08:44:46 ceph kernel: [19770.801608]  __kmalloc+0x271/0x300
>  2136 Jan 12 08:44:46 ceph kernel: [19770.801612]  bitmap_zalloc+0x1d/0x20
>  2137 Jan 12 08:44:46 ceph kernel: [19770.801630]  bch_register_namespace+0x387/0x4e0 [bcache]
>  2138 Jan 12 08:44:46 ceph kernel: [19770.801636]  ? __wake_up_common_lock+0x8a/0xc0
>  2139 Jan 12 08:44:46 ceph kernel: [19770.801639]  ? 0xffffffffc04e3000
>  2140 Jan 12 08:44:46 ceph kernel: [19770.801641]  test_nvm_init+0x2f/0x1000 [test_nvm]
>  2141 Jan 12 08:44:46 ceph kernel: [19770.801646]  ? netlink_broadcast_filtered+0x13e/0x480
>  2142 Jan 12 08:44:46 ceph kernel: [19770.801649]  ? _cond_resched+0x19/0x30
>  2143 Jan 12 08:44:46 ceph kernel: [19770.801651]  ? unmap_kernel_range_noflush+0x2e7/0x360
>  2144 Jan 12 08:44:46 ceph kernel: [19770.801653]  ? free_pcp_prepare+0x80/0x160
>  2145 Jan 12 08:44:46 ceph kernel: [19770.801654]  ? 0xffffffffc04e3000
>  2146 Jan 12 08:44:46 ceph kernel: [19770.801658]  do_one_initcall+0x48/0x1d0
>  2147 Jan 12 08:44:46 ceph kernel: [19770.801659]  ? _cond_resched+0x19/0x30
>  2148 Jan 12 08:44:46 ceph kernel: [19770.801661]  ? kmem_cache_alloc_trace+0x153/0x2b0
>  2149 Jan 12 08:44:46 ceph kernel: [19770.801664]  do_init_module+0x62/0x240
>  2150 Jan 12 08:44:46 ceph kernel: [19770.801666]  load_module+0x28a0/0x2c50
>  2151 Jan 12 08:44:46 ceph kernel: [19770.801672]  ? security_kernel_post_read_file+0x5c/0x70
>  2152 Jan 12 08:44:46 ceph kernel: [19770.801674]  __do_sys_finit_module+0xc2/0x120
>  2153 Jan 12 08:44:46 ceph kernel: [19770.801676]  ? __do_sys_finit_module+0xc2/0x120

-- 
With Best Regards,
Andy Shevchenko


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ