Modify

Opened 6 years ago

Closed 3 years ago

#11137 closed defect (obsolete)

samba3.6.3 error. locks.c

Reported by: sniperpr@… Owned by: developers
Priority: low Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: Cc:

Description

kernel 2.6.33.2
samba 3.6.3

toolchain-arm_v5te_gcc-4.6-linaro_uClibc-0.9.33_eabi
target: kirkwood

error info:

kernel BUG at fs/locks.c:2036!
  
Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 39.680000] pgd = de564000
[ 39.680000] [00000000] *pgd=1e52e031, *pte=00000000, *ppte=00000000
[ 39.690000] Internal error: Oops: 817 [#1]
[ 39.690000] last sysfs file: /sys/kernel/uevent_seqnum
[ 39.690000] Modules linked in: fuse usb_storage usblp ohci_hcd xt_IMQ imq xt_DSCP xt_NOTRACK ehci_hcd pppoe pppox msdos tun ppp_async ppp_genb
[ 39.690000] CPU: 0 Not tainted (2.6.33.2 #8)
[ 39.690000] pc : [<c002d378>] lr : [<c005d450>] psr: 20000013
[ 39.690000] sp : de577ea0 ip : de577de0 fp : de577eac
[ 39.690000] r10: df53b598 r9 : df80ada0 r8 : df540b38
[ 39.690000] r7 : df540b38 r6 : df8f0f40 r5 : df8f0f40 r4 : df540bd0
[ 39.690000] r3 : 00000000 r2 : 60000013 r1 : 00003b50 r0 : 00000034
[ 39.690000] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 39.690000] Control: 0005397f Table: 1e564000 DAC: 00000015
[ 39.690000] Process smbd (pid: 1434, stack limit = 0xde576270)
[ 39.690000] Stack: (0xde577ea0 to 0xde578000)
[ 39.690000] 7ea0: de577f2c de577eb0 c00ea1cc c002d368 decceca0 df143d30 00000000 40021000
[ 39.690000] 7ec0: de577f34 de577ed0 c00a703c c00b137c 40022000 00000000 df8f0f40 00000000
[ 39.690000] 7ee0: 00000000 de577ef0 00000001 00001000 df540b38 00000000 00000000 df8f0f40
[ 39.690000] 7f00: df143a34 00000000 00000008 df8f0f40 00000000 00000008 df8f0f40 00000000
[ 39.690000] 7f20: de577f64 de577f30 c00b6198 c00ea0c8 00000000 00000000 000000ff de576000
[ 39.690000] 7f40: df8f0f40 ffffffea 00000000 000002b8 de576000 00000003 de577f74 de577f68
[ 39.690000] 7f60: c00b62dc c00b60f0 de577fa4 de577f78 c00a7474 c00b62b8 00000001 00000000
[ 39.690000] 7f80: 00000005 00000000 001af880 000000c0 c002a224 befee900 00000000 de577fa8
[ 39.690000] 7fa0: c002a0a0 c00a73c0 00000005 00000000 00000000 000002b8 00000003 00000001
[ 39.690000] 7fc0: 00000005 00000000 001af880 000000c0 00175e18 00175e90 befee900 befee904
[ 39.690000] 7fe0: 00000000 befee860 00173a14 4018cdd4 40000010 00000000 00806031 00806431
[ 39.690000] Backtrace: 
[ 39.690000] Function entered at [<c002d358>] from [<c00ea1cc>]
[ 39.690000] Function entered at [<c00ea0b8>] from [<c00b6198>]
[ 39.690000] r7:00000000 r6:df8f0f40 r5:00000008 r4:00000000
[ 39.690000] Function entered at [<c00b60e0>] from [<c00b62dc>]
[ 39.690000] Function entered at [<c00b62a8>] from [<c00a7474>]
[ 39.690000] Function entered at [<c00a73b0>] from [<c002a0a0>]
[ 39.690000] Code: e1a01000 e59f000c eb0bb72c e3a03000 (e5833000) 
[ 39.700000] ---[ end trace 6dff7b1c5c2681f5 ]---
[ 39.740000] VFS: Close: file count is 0

2036 line code:

/*
 * This function is called on the last close of an open file.
 */
void locks_remove_flock(struct file *filp)
{
        struct inode * inode = filp->f_path.dentry->d_inode;
        struct file_lock *fl;
        struct file_lock **before;

        if (!inode->i_flock)
                return;

        if (filp->f_op && filp->f_op->flock) {
                struct file_lock fl = {
                        .fl_pid = current->tgid,
                        .fl_file = filp,
                        .fl_flags = FL_FLOCK,
                        .fl_type = F_UNLCK,
                        .fl_end = OFFSET_MAX,
                };
                filp->f_op->flock(filp, F_SETLKW, &fl);
                if (fl.fl_ops && fl.fl_ops->fl_release_private)
                        fl.fl_ops->fl_release_private(&fl);
        }

        lock_kernel();
        before = &inode->i_flock;

        while ((fl = *before) != NULL) {
                if (fl->fl_file == filp) {
                        if (IS_FLOCK(fl)) {
                                locks_delete_lock(before);
                                continue;
                        }
                        if (IS_LEASE(fl)) {
                                lease_modify(before, F_UNLCK);
                                continue;
                        }
                        /* What? */
                        BUG();
                }

Attachments (0)

Change History (4)

comment:1 Changed 6 years ago by nbd

  • Resolution set to obsolete
  • Status changed from new to closed

kirkwood uses 2.6.37.6 now, not 2.6.33.2

comment:2 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

comment:3 Changed 3 years ago by anonymous

  • Resolution obsolete deleted
  • Status changed from closed to reopened

Its still happening with linux 2.6.36

comment:4 Changed 3 years ago by nbd

  • Resolution set to obsolete
  • Status changed from reopened to closed

No recent openwrt version uses 2.6.36... Please test BB with 3.10

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.