From: Lev V. <le...@za...> - 2011-11-18 06:46:29
|
Hello Vlad, I'm looking at the latest scst_pres.c code in the svn (http://scst.svn.sourceforge.net/viewvc/scst/trunk/scst/src/scst_pres.c?revision=3933&view=markup). Isn't it the latest development version? There the bug indeed fixed for the linux kernel 2.6.39 and up. But for the older versions, the if() is still missing: static int scst_pr_check_pr_path(void) { ... set_fs(KERNEL_DS); #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) res = path_lookup(SCST_PR_DIR, 0, &nd); scst_pr_path_put(&nd); #else res = kern_path(SCST_PR_DIR, 0, &path); if (res == 0) path_put(&path); #endif -Lev. -----Original Message----- From: Vladislav Bolkhovitin Sent: Friday, November 18, 2011 12:21 AM To: Lev Vainblat Cc: scs...@li... Subject: Re: [Scst-devel] Kernel oops in in scst_pr_check_pr_path() Lev Vainblat, on 11/17/2011 05:05 AM wrote: > Hello, > > In kernel version < 2.6.39 if SCST_PR_DIR directory doesn't exist, in > scst_pr_check_pr_path() the scst_pr_path_put() is called with invalid > nameidata. I think "if(res==0)" is missing before the scst_pr_path_put() > call. It fixed long ago. Vlad |