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] [day] [month] [year] [list]
Message-ID: <CAMuHMdU9rGxnGCZhDMb2D35M45DL1mVFkVg5Xt+0BcAKYsVi=w@mail.gmail.com>
Date:   Mon, 15 May 2023 11:42:44 +0200
From:   Geert Uytterhoeven <geert@...ux-m68k.org>
To:     Finn Thain <fthain@...ux-m68k.org>
Cc:     linux-m68k@...ts.linux-m68k.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nubus: Remove proc entries before adding them

On Wed, Mar 22, 2023 at 1:52 AM Finn Thain <fthain@...ux-m68k.org> wrote:
> The config ROMs on some Nubus cards contain mistakes such as resource
> duplication. This results in a warning from proc_register():
>
> [    1.660000] NuBus: Scanning NuBus slots.
> [    1.740000] ------------[ cut here ]------------
> [    1.750000] WARNING: CPU: 0 PID: 1 at fs/proc/generic.c:376 proc_register+0xbc/0xda
> [    1.770000] proc_dir_entry '24/5' already registered
> [    1.790000] Modules linked in:
> [    1.800000] CPU: 0 PID: 1 Comm: swapper Not tainted 6.1.0-5-m68k #1  Debian 6.1.12-1
> [    1.800000] Stack from 00829d18:
> [    1.800000]         00829d18 00451507 00451507 00000000 00000009 0038c57c 00451507 00386bae
> [    1.800000]         00442945 0045f062 00000178 00868580 00868f50 00386c42 0045f062 00000178
> [    1.800000]         00166fc8 00000009 00000000 00829d78 008685e4 0037f9ec 00000025 00248808
> [    1.800000]         0045f0df 00829d94 00166fc8 0045f062 00000178 00000009 0045f0df 008689e4
> [    1.800000]         008685e4 fafe3a20 00868980 00829df3 00829e32 00000024 00829dc0 00167332
> [    1.800000]         00868980 00868580 00829e40 00248d36 00829df3 00008124 00868980 00248b0c
> [    1.800000] Call Trace: [<0038c57c>] dump_stack+0xc/0x10
> [    1.800000]  [<00386bae>] __warn+0x70/0xbc
> [    1.800000]  [<00386c42>] warn_slowpath_fmt+0x48/0x66
> [    1.800000]  [<00166fc8>] proc_register+0xbc/0xda
> [    1.800000]  [<0037f9ec>] memcmp+0x0/0x56
> [    1.800000]  [<00248808>] nubus_get_rsrc_str+0x0/0x5e
> [    1.800000]  [<00166fc8>] proc_register+0xbc/0xda
> [    1.800000]  [<00167332>] proc_create_single_data+0x40/0x48
> [    1.800000]  [<00248d36>] nubus_proc_add_rsrc_mem+0x68/0xa4
> [    1.800000]  [<00008124>] amiga_mksound+0xb8/0xc8
> [    1.800000]  [<00248b0c>] nubus_proc_rsrc_show+0x0/0xa4
> [    1.800000]  [<00386180>] memset+0x0/0x94
> [    1.800000]  [<0024864a>] nubus_readdir+0x0/0x66
> [    1.800000]  [<00560f35>] nubus_get_vendorinfo.isra.0+0x87/0x10e
> [    1.800000]  [<00560fb4>] nubus_get_vendorinfo.isra.0+0x106/0x10e
> [    1.800000]  [<00248d72>] nubus_proc_add_rsrc+0x0/0x8e
> [    1.800000]  [<001f6f50>] __dynamic_pr_debug+0x0/0x96
> [    1.800000]  [<0038741e>] _printk+0x0/0x18
> [    1.800000]  [<0016fafe>] kernfs_link_sibling+0x9a/0xaa
> [    1.800000]  [<00561cb0>] nubus_init+0x660/0x79c
> [    1.800000]  [<0037f7c6>] strcpy+0x0/0x1c
> [    1.800000]  [<0003f58c>] parse_args+0x0/0x308
> [    1.800000]  [<00002104>] do_one_initcall+0x0/0x184
> [    1.800000]  [<00561650>] nubus_init+0x0/0x79c
> [    1.800000]  [<00010000>] frc1_dst+0xe/0x14
> [    1.800000]  [<00002172>] do_one_initcall+0x6e/0x184
> [    1.800000]  [<0037f7c6>] strcpy+0x0/0x1c
> [    1.800000]  [<0003f58c>] parse_args+0x0/0x308
> [    1.800000]  [<00002104>] do_one_initcall+0x0/0x184
> [    1.800000]  [<0054b25c>] kernel_init_freeable+0x192/0x19c
> [    1.800000]  [<00561650>] nubus_init+0x0/0x79c
> [    1.800000]  [<0038c6c4>] kernel_init+0x0/0xec
> [    1.800000]  [<0038c6d8>] kernel_init+0x14/0xec
> [    1.800000]  [<0038c6c4>] kernel_init+0x0/0xec
> [    1.800000]  [<0000297c>] ret_from_kernel_thread+0xc/0x14
> [    1.800000]
> [    1.810000] ---[ end trace 0000000000000000 ]---
>
> This particular card (a Radius video card) contains a duplicated resource
> hence the /proc/bus/nubus/a/1/24/5 entry got registered twice.
> (A date resource has ID 5, the vendor info directory has ID 24)
>
> The solution for this is to remove a potentially pre-existing entry before
> adding the procfs entry for the resource.
>
> Reported-and-tested-by: Stan Johnson <userm57@...oo.com>
> Signed-off-by: Finn Thain <fthain@...ux-m68k.org>

Reviewed-by: Geert Uytterhoeven <geert@...ux-m68k.org>
i.e. will queue in the m68k for-v6.5 branch.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ